Thema: Delphi Laufwerk sperren

Einzelnen Beitrag anzeigen

Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#1

Laufwerk sperren

  Alt 2. Dez 2004, 14:29
SirThornberry hat hier beschreiben, wie man ein Laufwerk sperrt (vorwiegend zum Sperren des CD Laufwerks, damit man die Schublade nicht mehr öffnen kann). Der Code wurde leicht verändert von himitsu.

Delphi-Quellcode:
function LockMedia(ADriveLetter: Char; ALock: Boolean): Boolean;
var LWStatus: Hwnd;
    LTemp: Cardinal;
Const IOCTL_STORAGE_MEDIA_REMOVAL = $2D4804;
begin
  LwStatus := CreateFile(PChar('\\.\' + ADriveLetter + ':'), GENERIC_READ Or GENERIC_WRITE, 0, nil, OPEN_EXISTING, 0, 0);
  If LwStatus <> INVALID_HANDLE_VALUE Then
  begin
    result := DeviceIoControl(LwStatus, IOCTL_STORAGE_MEDIA_REMOVAL, @ALock, SizeOf(LPMR32), nil, 0, LTemp, nil);
    CloseHandle(LwStatus);
  end else result := False;
end;
Beispielaufruf:

Delphi-Quellcode:
//Sperren:
  LockMedia('d', true); //D ist hier Laufwerksbuchstabe

//Entsperren:
  LockMedia('d', false);
[edit=Chakotay1308]himitsus Code eingefügt. Mfg, Chakotay1308[/edit]
  Mit Zitat antworten Zitat