Home » Tipps & Tricks » System » Hardware » Feststellen, ob ein Laufwerk bereit ist
Feststellen, ob ein Laufwerk bereit ist
Dieses Beispiel greift auf die Win32-API-Funktion GetVolumeInformation zurück. Diese ermittelt normalerweise Datenträgerinformationen, gibt jedoch auch false zurück, wenn der Datenträger nicht bereit ist. Da standardmäßig in diesem Fall ein Systemdialog erscheinen würde, der zum Einlegen eines Datenträgers auffordert, muss dieses Verhalten mit dem Setzen des ErrorModes auf SEM_FAILCRITICALERRORS unterdrückt werden.
function LaufwerkBereit(root: string): boolean; var Oem: cardinal; Dw1, Dw2: DWORD; begin Oem := SetErrorMode(SEM_FAILCRITICALERRORS); result := GetVolumeInformation(PCHAR(Root), nil, 0, nil, Dw1, Dw2, nil, 0); SetErrorMode(Oem) ; end;
Beispiel eines Aufrufs:
procedure TForm1.Button1Click(Sender: TObject); begin if Laufwerkbereit('A:\') then ShowMessage('Laufwerk bereit!') else ShowMessage('Laufwerk nicht bereit!'); end;