Und was ist mit diesen Beiden?
PDev_Broadcast_Hdr
dbch_devicetype
Bis jetzt siehts so aus Stimmt das?
Delphi-Quellcode:
PROCEDURE TForm1.WMDEVICECHANGE(VAR Message: TMessage);
CONST
DBT_DEVICEARRIVAL = $8000; // system detected a new device
DBT_DEVTYP_OEM = $00000000;
DBT_DEVTYP_DEVNODE = $00000001;
DBT_DEVTYP_VOLUME = $00000002;
DBT_DEVTYP_PORT = $00000003;
DBT_DEVTYP_NET = $00000004;
DBT_DEVTYP_DEVICEINTERFACE = $00000005;
DBT_DEVTYP_HANDLE = $00000006;
VAR
s: String;
BEGIN
IF Message.wParam = DBT_DEVICEARRIVAL THEN
BEGIN
// Gerät wurde hinzugefügt
CASE PDev_Broadcast_Hdr(Message.LParam).dbch_devicetype OF
DBT_DEVTYP_OEM : s:='OEM-Gerät';
DBT_DEVTYP_DEVNODE : s:='Geräteknoten';
DBT_DEVTYP_VOLUME : s:='Datenträger';
DBT_DEVTYP_PORT : s:='Seriell/Parallele';
DBT_DEVTYP_NET : s:='Netzwerk';
DBT_DEVTYP_DEVICEINTERFACE: s:='Geräteschnittstelle';
DBT_DEVTYP_HANDLE : s:='Dateisystem';
END;
END
ELSE
IF Message.wParam = DBT_DEVICEREMOVECOMPLETE THEN
BEGIN
// Gerät wurde entfernt
END;
Message.Result:=1;
END;