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.173 mal aufgerufen. Voriger Tipp | Zufälliger Tipp | Nächster Tipp
Anzeige
Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv Vol.6 (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. |
sevISDN 1.0 Überwachung aller eingehender Anrufe! Die DLL erkennt alle über die CAPI-Schnittstelle eingehenden Anrufe und teilt Ihnen sogar mit, aus welchem Ortsbereich der Anruf stammt. Weitere Highlights: Online-Rufident, Erkennung der Anrufbehandlung u.v.m. Tipp des Monats März 2024 Dieter Otter UTF-8 Konvertierung von Dateien und Strings VB6 selbst verfügt über keine Funktionen zur UTF-8 Konvertierung von Daten. Mit Hilfe des ADODB.Stream-Objekts lassen sich diese fehlenden Funktionen aber schnell nachrüsten. sevZIP40 Pro DLL Zippen und Unzippen wie die Profis! Mit nur wenigen Zeilen Code statten Sie Ihre Anwendungen ab sofort mit schnellen Zip- und Unzip-Funktionen aus. Hierbei lassen sich entweder einzelnen Dateien oder auch gesamte Ordner zippen bzw. entpacken. |
||||||||||||||||
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. |