![]() |
Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply |
![]() ![]() ![]() |
|
Dick |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 1.12.2004 Репутация: нет Всего: нет |
Пример:
вот такой простенький пример в связи с этим вопрос можно ли отследить изменения одного типа устройств ![]() |
|||
|
||||
Александра |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 219 Регистрация: 20.2.2005 Где: Москва Репутация: 1 Всего: 12 |
т.е. что за устройство вызвало событие?
если так, то в lParam передается указатель на DEV_BROADCAST_HDR, его поле dbch_devicetype необходимо проверять на DBT_DEVTYP_VOLUME, если это так то можно из lParam получить указатель уже на структуру DEV_BROADCAST_VOLUME, где в свою очередь dbcv_flags указывает на изменения или CD или сетевого диска. а имя можно получить уже из поля dbcv_unitmask (структура DEV_BROADCAST_VOLUME), где наличие каждого бита указывает как раз на имя диска. А - 0 бит, B - 1 бит и так далее... Добавлено @ 01:48 спасибо MS за MSDN )) --------------------
|
|||
|
||||
Dick |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 1.12.2004 Репутация: нет Всего: нет |
спасибо но я уже написал
а теперб вопрос такой, что поставить в константу DBT_DevTyp_Volume, что бы отслеживались изменения Flash Drive ![]() |
|||
|
||||
Александра |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 219 Регистрация: 20.2.2005 Где: Москва Репутация: 1 Всего: 12 |
похоже поможет только эксперемент... ))
--------------------
|
|||
|
||||
Girder |
|
|||
![]() Лентяй 2 ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1993 Регистрация: 12.5.2004 Репутация: 25 Всего: 155 |
![]() Писать самому лень ![]() -------------------- Как слышим, так и пишим. Истина где-то там... |
|||
|
||||
Dick |
|
||||
![]() Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 1.12.2004 Репутация: нет Всего: нет |
я уже опух экспериментировать, их там .... очень много ... Добавлено @ 22:49 большое спасибо |
||||
|
|||||
GRU |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 26 Регистрация: 20.7.2004 Репутация: нет Всего: 1 |
http://rxlib.ru/faqs/Winapifa.htm
Вопрос: Как корректно определить изменения в оборудовании PlugNPlay? Ответ: Пример: type TForm1 = class(TForm) Button1: TButton; private { Private declarations } procedure WMDeviceChange(var Message: TMessage); message WM_DEVICECHANGE; public { Public declarations } end; var Form1: TForm1; implementation {$R *.DFM} const DBT_DEVICEARRIVAL = $8000; const DBT_DEVICEQUERYREMOVE = $8001; const DBT_DEVICEQUERYREMOVEFAILED = $8002; const DBT_DEVICEREMOVEPENDING = $8003; const DBT_DEVICEREMOVECOMPLETE = $8004; const DBT_DEVICETYPESPECIFIC = $8005; const DBT_CONFIGCHANGED = $0018; procedure TForm1.WMDeviceChange(var Message: TMessage); var s : string; begin {Do Something here} case Message.wParam of DBT_DEVICEARRIVAL : s := 'A device has been inserted and is now available'; DBT_DEVICEQUERYREMOVE: begin s := 'Permission to remove a device is requested'; ShowMessage(s); {True grants premission} Message.Result := integer(true); exit; end; DBT_DEVICEQUERYREMOVEFAILED : s := 'Request to remove a device has been canceled'; DBT_DEVICEREMOVEPENDING : s := 'Device is about to be removed'; DBT_DEVICEREMOVECOMPLETE : s := 'Device has been removed'; DBT_DEVICETYPESPECIFIC : s := 'Device-specific event'; DBT_CONFIGCHANGED : s:= 'Current configuration has changed' else s := 'Unknown Device Message'; end; ShowMessage(s); inherited; end; |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: WinAPI и системное программирование" | |
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |