|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Отследить подключение и отключение Рутокен
Здравствуйте, как можно отловить подключение и отключение Рутокен в Delphi 7?
|
#2
|
|||
|
|||
Вообще, если правильно помню, то при подключении USB устройств (и смарт карт тоже) винда рассылает сообщения всем приложениям. Возможно, надо подписаться на получение соотв. сообщений.
Вот код из моего проекта для отлова просто USB драйвов: Код:
TForm1 = class(TForm) ... procedure WMDeviceChange(var Message : TMessage); message WM_DEVICECHANGE; ... procedure TForm1.WMDeviceChange(var Message: TMessage); const DBT_CONFIGCHANGECANCELED = $19; DBT_CONFIGCHANGED = $18; DBT_CUSTOMEVENT = $8006; DBT_DEVICEARRIVAL = $8000; DBT_DEVICEQUERYREMOVE = $8001; DBT_DEVICEQUERYREMOVEFAILED = $8002; DBT_DEVICEREMOVECOMPLETE = $8004; DBT_DEVICEREMOVEPENDING = $8003; DBT_DEVICETYPESPECIFIC = $8005; DBT_DEVNODES_CHANGED = $7; DBT_QUERYCHANGECONFIG = $17; DBT_USERDEFINED = $FFFF; var ASelFolder : String; begin If FDevChanged Then Begin ASelFolder := tvFolders.Path; tvFolders.Items.BeginUpdate; tvFolders.Refresh(tvFolders.Items[0]); tvFolders.Path := ASelFolder; tvFolders.Items.EndUpdate; FDevChanged := False; End; Case Message.WParam Of DBT_DEVICEARRIVAL, DBT_DEVICEREMOVECOMPLETE : Begin CreateDiskShortCuts; FDevChanged := True; End; End; end; Короче, копай в эту сторону. |