Текущий архив: 2004.02.25;
Скачать: CL | DM;
ВнизМожно ли программно заблокировать лоток CD Найти похожие ветки
← →
yaric (2003-11-26 18:08) [0]Можно ли программно заблокировать лоток CD, как это делает например Linux, когда сидюк примонтирован.
Если можно, то подскажите как.
← →
Nick Denry (2003-11-26 20:52) [1]MCILock...
Find in help
← →
AbrosimovA (2003-12-02 14:47) [2]//Блокировать(Locked=true);Разблокировать(Locked=false) CD-ROM
//DriveCD - буква привода CD(Например, F:)
procedure Door_Lock(DriveCD:string; Locked:boolean);
const IOCTL_STORAGE_MEDIA_REMOVAL = $002D4804;
var hDrive : THandle;
Returned : DWORD;
DisableEject : boolean;
Drv: string;
begin
Drv:= "\\.\"+DriveCd;
hDrive := CreateFile(PChar(Drv), GENERIC_READ, FILE_SHARE_READ, nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
if GetLastError <> 0 then
MessageDlg("Ошибка:"+IntToStr(GetLastError), mtError, [mbOK], 0);
try
DisableEject := Locked;
if not DeviceIoControl(hDrive,
IOCTL_STORAGE_MEDIA_REMOVAL,
@DisableEject,
sizeof(DisableEject),
nil,
0,
Returned,
nil) then
MessageDlg("Ошибка:"+IntToStr(GetLastError), mtError, [mbOK], 0);
finally
CloseHandle(hDrive);
end;
end;
← →
Dakis (2003-12-17 21:34) [3]procedure Lock(Locking : Boolean);
var
Returned: Cardinal;
hDrive : HWND;
begin
hDrive:=CreateFile("\\.\H:",GENERIC_READ, FILE_SHARE_READ, nil, OPEN_EXISTING, 0, 0);
DeviceIoControl(hDrive,PREVENT_MEDIA_REMOVAL, @Boolean(Locking), sizeof(DisableEject), nil, 0, Returned, nil);
FileClose(HDrive);
end;
Страницы: 1 вся ветка
Текущий архив: 2004.02.25;
Скачать: CL | DM;
Память: 0.44 MB
Время: 0.034 c