so, ich hab den CardReader angeschlossen, und folgenden code verwendet:
Delphi-Quellcode:
procedure TForm2.FormCreate(Sender: TObject);
var dbi: DEV_BROADCAST_DEVICEINTERFACE;
Size: Integer;
begin
Size := SizeOf(DEV_BROADCAST_DEVICEINTERFACE);
ZeroMemory(@dbi, Size);
dbi.dbcc_size := Size;
dbi.dbcc_devicetype := DBT_DEVTYP_DEVICEINTERFACE;
dbi.dbcc_reserved := 0;
dbi.dbcc_classguid := GUID_DEVINTERFACE_SD;
dbi.dbcc_name := 0;
RegisterDeviceNotification(FWindowHandle, @dbi, DEVICE_NOTIFY_WINDOW_HANDLE);
end;
delphi meckert nich, un startet das programm ohne fehler.
und nu zur classGUID, ich hab in der registry n bissl gestöbert, und folgende Schlüssel:
- HK_LocalMachine\Systen\CurrentControlSet\Enum\
- USBSTOR\'blabla_zeugs,von Cardreader'\000000000020&1\ (wobei es &0 bis &3 gibt)
- USB\Vid_0dda&Pid_2005\Vid_0dda&Pid_2005\ und
- STORAGE\RemovableMedia\
- STORAGE\Volume\
verschiedenste GUIDs gefunden, und halt zugeordnet:
Delphi-Quellcode:
const
GUID_DEVINTERFACE_SD: TGUID = '{71A27CDD-812A-11D0-BEC7-08002BE2092F}';
er bringt aber keine meldung, beim reinstecken, bzw. rausziehn der Karte.....[delphi]