Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.47 MB
Время: 0.04 c
1-79855
Well
2004-02-10 17:25
2004.02.25
Убрать программу из


6-80072
Term!
2003-12-22 09:50
2004.02.25
Как узнать IP подключенных к IIS компов?


4-80356
Evgeniy_K
2003-11-03 16:03
2004.02.25
Параметры шрифта при выводе через TextOut


1-79697
Builder
2004-02-13 02:19
2004.02.25
Сообщение об ошибке


14-80120
psyched
2004-02-02 17:42
2004.02.25
Исходные тексты VCL