Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 13.09.2019, 22:57
Alex7 Alex7 вне форума
Новичок
 
Регистрация: 18.09.2018
Сообщения: 62
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию Отследить подключение и отключение Рутокен

Здравствуйте, как можно отловить подключение и отключение Рутокен в Delphi 7?
Ответить с цитированием
  #2  
Старый 15.09.2019, 22:55
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,003
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Вообще, если правильно помню, то при подключении 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;
Как раз Delphi 7.
Короче, копай в эту сторону.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 14:43.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter