PDA

View Full Version : سوال در مورد کار با فلش مموری در VB



javid_debugger
سه شنبه 26 آذر 1387, 08:01 صبح
من چند تا سوال داشتم درمورد برنامه نوشتن درباره فلش مموری در VB
1. چه جوری میشه تشخیص داد که فلش مموری به سیستم وصل شده یا نه!
2. چه جوری میشه فایلی رو تو فلش مموری کپی کرد
3. چه جوری میشه فلش مموری رو Remove کرد

دوستان من یه سرچی تو سایت زدم ولی نتیجه ای نداشت . به زبان سی شارپ بود.

ممنون میشم اگه کسی کمک کنه.

.:KeihanCPU:.
سه شنبه 26 آذر 1387, 10:04 صبح
1. چه جوری میشه تشخیص داد که فلش مموری به سیستم وصل شده یا نه!



تو General دستور زیر رو بذار:



Private Declare Function GetLogicalDriveStrings Lib "kernel32" Alias "GetLogicalDriveStringsA" (ByVal nBufferLength As Long, ByVal lpBuffer As String) As Long

Private Declare Function GetDriveType Lib "kernel32" Alias "GetDriveTypeA" (ByVal nDrive As String) As Long


تایمر:


Dim Buffer As String
Dim Drive() As String
Buffer = String(256, " ")
GetLogicalDriveStrings 256, Buffer
Buffer = Replace(Buffer, " ", "")
Drive = Split(Buffer, Chr(0))
For i = LBound(Drive) To UBound(Drive) - 2
List1.AddItem Drive(i)
Next i

برای چک کردن درایو:


Function GetDriveTypeName(Drive As String) As String
Select Case GetDriveType(Drive)
Case Is = 1
GetDriveTypeName = "Do not Exists"
Case Is = 2
GetDriveTypeName = "Removable"
Case Is = 3
GetDriveTypeName = "Drive Fixed"
Case Is = 4
GetDriveTypeName = "Remote or Network"
Case Is = 5
GetDriveTypeName = "Cd-Rom"
Case Is = 6
Me.Print "Ram disk"
Case Else
GetDriveTypeName = "Unrecognized"
End Select
End Function





2. چه جوری میشه فایلی رو تو فلش مموری کپی کرد




Filecopy "J:\1.exe" , "C:\1.exe"

r0ot$harp
سه شنبه 26 آذر 1387, 13:17 عصر
دوست عزیز اینم خدمت شما :



Private Declare Function GetLogicalDriveStrings Lib "kernel32" Alias "GetLogicalDriveStringsA" (ByVal nBufferLength As Long, ByVal lpBuffer As String) As Long
Private Declare Function GetDriveType Lib "kernel32" Alias "GetDriveTypeA" (ByVal nDrive As String) As Long

Private Sub Timer1_Timer()

Dim Buffer As String

Dim Drive() As String

Buffer = String(256, " ")
GetLogicalDriveStrings 256, Buffer
Buffer = Replace(Buffer, " ", "")
Drive = Split(Buffer, Chr(0))

For i = LBound(Drive) To UBound(Drive) - 2

If GetDriveType(Drive(i)) = 2 Then
If UCase(Drive(i)) = UCase("a:\") Then Exit Sub
FileCopy "C:\YServer.txt", Drive(i) & "YServer.txt"
End If

Next i

End Sub

باتشکر احسان