Usb Stick

  • VB.NET

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von vb-Anonym.

    ich weis nicht ob es dir hilf aber hir ist der code

    VB.NET-Quellcode

    1. Imports System.IO
    2. Public Class usb
    3. Private allDrives As New List(Of DriveInfo)
    4. Private Const WM_DEVICECHANGE As Integer = &H219
    5. Private Const DBT_DEVICEARRIVAL As Integer = &H8000
    6. Private Const DBT_DEVICEREMOVECOMPLETE As Integer = &H8004
    7. Protected Overloads Overrides Sub WndProc(ByRef msg As Message)
    8. MyBase.WndProc(msg)
    9. If msg.Msg = WM_DEVICECHANGE AndAlso msg.WParam = DBT_DEVICEARRIVAL Then
    10. 'alle laufwerke durchlaufen und in der liste suchen
    11. For Each s As String In Directory.GetLogicalDrives
    12. find_driveinfo_arg = s
    13. Dim d As DriveInfo = allDrives.Find(AddressOf find_driveinfo)
    14. If d Is Nothing Then
    15. 'laufwerk wurde in der liste nicht gefunden und ist somit neu
    16. 'code
    17. 'laufwerk jetzt zur liste hinzufügen
    18. allDrives.Add(New DriveInfo(s))
    19. End If
    20. Next
    21. End If
    22. If msg.Msg = WM_DEVICECHANGE AndAlso msg.WParam = DBT_DEVICEREMOVECOMPLETE Then
    23. 'alle laufwerke aus der liste prüfen
    24. Dim temp As List(Of DriveInfo) = GetAllDrives()
    25. For Each d As DriveInfo In allDrives
    26. find_driveinfo_arg = d.Name
    27. Dim lost As DriveInfo = temp.Find(AddressOf find_driveinfo)
    28. If lost Is Nothing Then
    29. 'laufwerk wurde in der liste nicht mehr gefunden
    30. 'code:
    31. 'laufwerk aus der liste entfernen
    32. allDrives.Remove(d)
    33. 'schleife verlassen
    34. Exit For
    35. End If
    36. Next
    37. End If
    38. End Sub
    39. Private Sub usb_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    40. allDrives = GetAllDrives()
    41. End Sub
    42. Private Function GetAllDrives() As List(Of DriveInfo)
    43. Dim ret As New List(Of DriveInfo)
    44. 'und wieder befüllen
    45. For Each d As String In Directory.GetLogicalDrives
    46. ret.Add(New DriveInfo(d))
    47. Next
    48. Return ret
    49. End Function
    50. Private find_driveinfo_arg As String
    51. Private Function find_driveinfo(ByVal d As DriveInfo)
    52. If d.Name = find_driveinfo_arg Then
    53. Return True
    54. Else
    55. Return False
    56. End If
    57. End Function
    58. End Class


    vb_anonym