Erkennen wenn eine USB Platte angeschlossen wird
-
Hallo zusammen,
ich möchte ein Programm schreiben, welches erkennt wenn eine USB Platte/Stick eingesteckt wird und dann dieses neue Laufwerk ansprechen. Bzw. den neuen Laufwerksbuchstaben herausfinden.Folgendes habe ich bis jetzt, aber woher erkenne ich welches Laufwerk jetzt wirklich angesteckt wurde?
void TForm1::OnMyDeviceChange(TWMDevModeChange &Msg) { switch(Msg.Msg) { case WM_DEVICECHANGE: { switch(Msg.Unused) { case DBT_DEVICEARRIVAL: { ShowMessage(AnsiString(Msg.Device)); } } } } }Allerdings steht in Msg.Device nichts, was bei mir das Licht aufgehen läßt. Kennt vielleicht jemand nährere Details über TWMDevModeChange?
Danke im vorraus
-
Hallo,
wenn nicht mehrere Fälle unterschieden werden sollen, arbeite doch lieber mit if:
void TForm1::OnMyDeviceChange(TWMDevModeChange &Msg) { if((Msg.Msg == WM_DEVICECHANGE) && (Msg.Unused == DBT_DEVICEARRIVAL)) ShowMessage(AnsiString(Msg.Device)); }MfG
-
Danke für den Tipp, aber ich weiß noch nicht, ob ich mehrere Fälle unterscheiden will. Allerdings weiß ich leider immer noch nicht, wie ich herausfinde, welches Device/Laufwerk angesteckt wurde

-
Hallo
Das hat auch mit dem Builder nicht mehr viel zu tun, dafür brauchst du WinAPI-Funktionen.
bis bald
akari
-
Dieser Thread wurde von Moderator/in akari aus dem Forum VCL (C++ Builder) in das Forum WinAPI verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.