Цитата:
Сообщение от friz
спасибо вроде работает! единственное вроде как не будет работать после форматирования флешки(где-то в нете нарыл)
А теперь вопросы номер два и три :
2) как определить момент подключения флешки?
3) как программно отсоединять(извлекать) не нужные мне флешки?
|
для пункта 2 использовать RegisterDeviceNotification
Код:
procedure TRSAMessForm.FormCreate(Sender: TObject);
var
NF:TDEV_BROADCAST_DEVICEINTERFACE;
begin
FNeedExecute := False;
NF.dbcc_size:=sizeof(TDEV_BROADCAST_DEVICEINTERFACE);
NF.dbcc_devicetype:=DBT_DEVTYP_DEVICEINTERFACE;
FDeviceNotification := RegisterDeviceNotification(Handle,@NF,DEVICE_NOTIFY_ALL_INTERFACE_CLASSES);
end;
{ procedure OnDeviceChange(var Msg: TMessage); message WM_DEVICECHANGE; }
procedure TRSAMessForm.OnDeviceChange(var Msg: TMessage);
begin
case Msg.WParam of
DBT_DEVICEREMOVECOMPLETE: WaitExec();
DBT_DEVICEARRIVAL: WaitExec(True);
DBT_DEVNODES_CHANGED: WaitExec();
end;
end;
Я отслеживал извлечение