Wird ein neuer Wechseldatenträger angeschlossen bzw. wieder entfernt sendet Windows die Message WM_DEVICECHANGE. Wenn man nun gezielt das System auf diese Nachricht abhört, kann man sehr leicht prüfen, ob bspw. ein USB-Stick am System angeschlossen bzw. wieder entfernt wurde. Erstellen Sie ein neues Projekt und platzieren auf die Form eine ListBox. In dieser ListBox sollen sowohl neu erkannte Datenträger, als auch Datenträger, die entfernt wurden, angezeigt werden. Imports System.IO Public Class Form1 ' Liste aller aktuell vorhandenen Laufwerke Private currentDrives As New List(Of String) ' Windows-Message Konstante Private Const WM_DEVICECHANGE As Integer = &H219 Private Sub Form1_Load(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles MyBase.Load ' Liste aller aktuell vorhandenen Laufwerke ermitteln For Each d As DriveInfo In DriveInfo.GetDrives currentDrives.Add(d.RootDirectory.FullName) Next End Sub ' Windows-Messages abhorchen Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message) ' Auf Laufwerksänderungen im System reagieren If m.Msg = WM_DEVICECHANGE Then ' neue Laufwerksliste erstellen Dim newDrives As New List(Of String) For Each d As DriveInfo In DriveInfo.GetDrives newDrives.Add(d.RootDirectory.FullName) Next ' prüfen, ob neue Laufwerke hinzugekommen sind For Each s As String In newDrives If Not currentDrives.Contains(s) Then ' neues Laufwerk gefunden ListBox1.Items.Add("Neu: " & s) End If Next ' jetzt prüfen, ob Laufwerke entfernt wurden For Each s As String In currentDrives If Not newDrives.Contains(s) Then ' Laufwerk wurde entfernt ListBox1.Items.Add("Entfernt: " & s) End If Next ' Laufwerks-Array aktualisieren currentDrives = newDrives End If MyBase.WndProc(m) End Sub End Class Starten Sie das Projekt und stecken einen USB-Stick ein. In der ListBox sollte unmittelbar danach der neue Laufwerksbuchstabe erscheinen. Entfernen Sie nun den USB-Stick wieder. Auch diese Info bekommen Sie in der ListBox angezeigt. Dieser Tipp wurde bereits 22.694 mal aufgerufen.
Anzeige
![]() ![]() ![]() (einschl. Beispielprojekt!) Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! - nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten - Symbol-Galerie mit mehr als 3.200 Icons im modernen Look Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m. |
sevOutBar 4.0 ![]() Vertikale Menüleisten á la Outlook Erstellen von Outlook ähnlichen Benutzer- interfaces - mit beliebig vielen Gruppen und Symboleinträgen. Moderner OfficeXP-Style mit Farbverläufen, Balloon-Tips, u.v.m. Tipp des Monats ![]() Dieter Otter sevTabStrip: Rechtsklick auf Reiter erkennen Eine Funktion, mit der sich prüfen lässt, auf welchen Tab-Reiter ein Mausklick erfolgte Access-Tools Vol.1 ![]() Über 400 MByte Inhalt Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB |
||||||||||||||||
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein. |