Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   Заблочить dvd-cd ROM (https://forum.antichat.xyz/showthread.php?t=194550)

dosleft 08.04.2010 14:13

Заблочить dvd-cd ROM
 
Кто зает как это сделать? желательно еще и usb, язык делфи.

JnK 08.04.2010 14:19

Цитата:

Сообщение от dosleft
Заблочить dvd-cd ROM

Функция принимает два параметра. ADriveLetter - буква диска, ALock - блокировать (true - блокировать, false - разблокировать)

PHP код:

function LockMedia(ADriveLetterCharALockBoolean): Boolean
var 
LWStatusHwnd
    
LTempCardinal
    
LPMR32Boolean
Const 
IOCTL_STORAGE_MEDIA_REMOVAL = $2D4804
begin 
  LwStatus 
:= CreateFile(PChar('\\.\' + ADriveLetter + ':'), GENERIC_READ or GENERIC_WRITE, 0, nil, OPEN_EXISTING, 0, 0); 
  LPMR32 := ALock; 
  if LwStatus <> INVALID_HANDLE_VALUE then 
  begin 
    result := DeviceIoControl(LwStatus, IOCTL_STORAGE_MEDIA_REMOVAL, @LPMR32, sizeof(LPMR32), nil, 0, LTemp, nil); 
    CloseHandle(LwStatus); 
  end else result := false; 
end; 

Пример использования:
PHP код:

LockMedia('d'true);  // заблокировать диск D:
ShowMessage('CD-ROM заблокирован. Лоток не выезжает.');
LockMedia('d'false); // разблокировать диск D:
ShowMessage('CD-ROM разблокирован.'); 

Или блокировать в плане, он не видется вообще?


Время: 05:44