![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Подключение USB [D7, 2000, XP, 2003]
apic © (2007-11-08 14:47:00)отлавливаю подключение флеш диска:
procedure TForm1.WMDeviceChange(var aMessage: TMessage);
type
PDevBroadcastHdr = ^DEV_BROADCAST_HDR;
DEV_BROADCAST_HDR = packed record
dbch_size: DWORD;
dbch_devicetype: DWORD;
dbch_reserved: DWORD;
end;
const
DBT_DEVICEARRIVAL = $8000;
DBT_DEVICEQUERYREMOVE = $8001;
DBT_DEVICEREMOVECOMPLETE = $8004;
DBT_DEVTYP_VOLUME = $00000002; // Новый логический том
var
devType: DWORD;
begin
// В системе появилось новое устройство.
// Подключение фотоаппарата ВСЕГДА сопровождается появлением в системе
// нового логического диска. Поэтому именно это уведомление ключевое!
inherited;
Case aMessage.wParam of
DBT_DEVICEARRIVAL: begin // Новое устройство готово к работе
devType:= PDevBroadcastHdr(aMessage.LParam)^.dbch_devicetype;
If devType = DBT_DEVTYP_VOLUME then begin
//PostMessage(TimerForm.Handle, UM_ScanDevice, 0, 0);
ShowMessage('Новое устройство готово к работе');
end;
end;
DBT_DEVICEREMOVECOMPLETE: begin // Устройство удалено из системы
devType:= PDevBroadcastHdr(aMessage.LParam)^.dbch_devicetype;
If devType = DBT_DEVTYP_VOLUME then begin
//PostMessage(TimerForm.Handle, UM_ScanDevice, 0, 0);
ShowMessage('Устройство удалено из системы');
end;
end;
DBT_DEVICEQUERYREMOVE: begin //
devType:= PDevBroadcastHdr(aMessage.LParam)^.dbch_devicetype;
If devType = DBT_DEVTYP_VOLUME then begin
//PostMessage(TimerForm.Handle, UM_ScanDevice, 0, 0);
ShowMessage('Устройство скоро будет удалено');
end;
end;
end;
end;
А как узнать букву этого нового тома?
apic (2007-11-09 11:34:00) [1]Удалено модератором