![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Блокируем Cd-rom что не так делаю [D7, Win95/98, WinXP]
Asd © (2004-03-26 22:48:00)Подскажите как сделать блокировкку разблокировку Cd-rom я пробовал так но не работает
function LockCD(DriveCD:char; Locked:boolean):Boolean;
const IOCTL_STORAGE_MEDIA_REMOVAL = $002D4804;
var hDrive : THandle;
Returned : DWORD;
DisableEject : boolean;
Drv: string;
begin
result:=False;
Drv:= '\\.\'+DriveCd+':';
hDrive := CreateFile(PChar(Drv), GENERIC_READ, FILE_SHARE_READ, nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
if GetLastError <> 0 then Exit;
try
DisableEject := Locked;
Result:=DeviceIoControl(hDrive,IOCTL_STORAGE_MEDIA_REMOVAL,
@DisableEject,sizeof(DisableEject),nil,0,Returned,nil);
finally
CloseHandle(hDrive);
end;
end;
Asd (2004-03-29 21:27:00) [1]А где можно прочитать про ASPI функции скажите пожалуиста.
alas (2004-03-29 10:15:00) [2]DeviceIoControl(hDrive,IOCTL_STORAGE_MEDIA_REMOVAL,
@DisableEject,sizeof(DisableEject),nil,0,Returned,nil);
функция работает, только со SCSI для NT, Win2k, WinXP, для работы под Win9x, WinME нужно использовать ASPI функции
Asd (2004-03-28 21:54:00) [3]блин может у меня Cd-rom не поддерживает спасибо всем
Александр1 (2004-03-28 06:04:00) [4]Ой нет ганю! Всё нормально!
Александр1 (2004-03-28 06:03:00) [5]LockCD - Еко надо как-то описать, а то он как неизвестный идентификатор?
Yanis (2004-03-28 00:19:00) [6]To Asd
ты может ошибся. Всё работает.
У меня то уж точно работает:
procedure TForm1.Button1Click(Sender: TObject);
begin
LockCD('F',true);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
LockCD('F',false);
end;
Yanis (2004-03-28 00:15:00) [7]To [1]
А тебе это зачем?
Александр1 (2004-03-27 20:09:00) [8]А это тебе зачем?