PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Laufwerk sperren


Matti
2007-01-16, 22:15:15
Hi,

für ein Festplatten-Tool will ich ein Laufwerk sperren:

dn:='\\.\'+hdi.Partitions[i]+':';
hDevice:=CreateFile(pointer(dn),GENERIC_READ,FILE_SHARE_READ or FILE_SHARE_WRITE,nil,OPEN_EXISTING,0,0);
if not deviceiocontrol(hdevice,FSCTL_LOCK_VOLUME,nil,0,nil,0,dummy,nil) then begin
showmessage('Kann Volume '+hdi.Partitions[i]+': nicht sperren');
CloseHandle(hdevice);
goto 1;
end;

Das Problem ist, daß deviceiocontrol immer false zurückgibt, was ja bedeutet, daß Dateien auf dem Laufwerk geöffnet sind. Wie kann man rausbekommen, welche Datei das ist und von welchem Programm sie benutzt wird? ...oder habe ich in dem Code-Stück einen Fehler???

Gruß
Matti

Matti
2007-01-19, 00:42:34
Also der Code ist korrekt. Das Problem ist, daß ich an einem neuen Laptop gearbeitet habe, wo noch nichts ausgemistet ist und irgendwelche Prozesse Dateien/Verzeichnisse offen halten. Unter BartPE funzt es einwandfrei :)