Feststellen, ob ein Laufwerk bereit ist |
|
| System | Win9x, WinNT, Win2000, WinXP, Vista, Win7 |
|---|---|
| Ab Delphi-Version | Delphi 1 |
| Letzte Änderung | 28.09.2010 |
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;
- Prüfen, ob eine Audio-CD eingelegt ist
- Netzlaufwerke ohne Dialog verbinden
- Netzlaufwerke mit Dialog verbinden
- Feststellen, ob ein Medium eingelegt ist
- CD-Laufwerk öffnen/schließen
- Laufwerkstyp ermitteln (Festplatte, CD, Ram-Disk...)
- Namen einer Partition ermitteln
- Seriennummer einer Partition ermitteln
- Benachrichtigung bei CD-Wechsel