Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Сообщение WM_DeviceChange


eh ©   (2016-04-06 17:13:00) 

Здравствуйте!
В программе ловлю сообщение WM_DeviceChange.


procedure WMDeviceChange(var Msg: TMessage); message WM_DeviceChange;
...
procedure TFSHook.WMDeviceChange(var Msg: TMessage);
begin
 case Msg.wParam of
   DBT_DEVICEARRIVAL: begin
     if PDEV_BROADCAST_HDR(Msg.LParam)^.dbch_devicetype = DBT_DEVTYP_VOLUME then
     begin
       RegisterDN(DWORDtoDiskNames(PDEV_BROADCAST_VOLUME(Msg.LParam)^.dbcv_unitmask));
       ShowMessage('Вставлен диск: ' + DWORDtoDiskNames(PDEV_BROADCAST_VOLUME(Msg.LParam)^.dbcv_unitmask) + ':');
     end;
   end;
   DBT_DEVICEQUERYREMOVE: begin
     if PDEV_BROADCAST_HDR(Msg.LParam)^.dbch_devicetype = DBT_DEVTYP_HANDLE then
       ShowMessage('Запрс на извлечение: ' + IntToStr(PDEV_BROADCAST_HANDLE(Msg.LParam)^.dbch_handle));//???
     CloseHandle(FDirHandle);
   end;
...
 end;
end;


При подключении и запросе на извлечение флэшки необходимо определить букву диска. С подключением всё хорошо, а вот с запросом на извлечение не соображу как это сделать.
Подскажите, пожалуйста.


eh   (2016-04-07 11:01:00) [1]

Rouse_, спасибо!


Rouse_   (2016-04-06 18:49:00) [2]

Перечитать список устройств - сравнить со списком существующих в кэше


Наверх

Титульная страница Поиск, карта сайта Написать письмо