![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
CD_ROM [D7, WinXP]
Borland © (2005-07-31 17:06:00)Как программно заблокировать все CD-ROM'ы?
Borland (2005-08-03 15:18:00) [1]Если честно, то нет. Т.к. занялся программирорванием не так уж давно. Если не трудно - покажите.
КодеКорешь (2005-08-01 14:09:00) [2]
function BlocCD(DisableEject: boolean; ADriveLetter : PChar): Boolean;
var
hCDDevice : THandle;
lpBytesReturned: DWORD;
const
IOCTL_STORAGE_MEDIA_REMOVAL = $002D4804;
begin
If GetDriveType(ADriveLetter) = DRIVE_CDROM then
begin
hCDDevice := CreateFile(PChar('\\.\'+ADriveLetter),
GENERIC_READ,
FILE_SHARE_READ or FILE_SHARE_WRITE,
nil,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
0);
if hCDDevice <> INVALID_HANDLE_VALUE then
begin
DeviceIoControl(hCDDevice, IOCTL_STORAGE_MEDIA_REMOVAL, @DisableEject, sizeof(DisableEject), nil, 0, lpBytesReturned, nil);
CloseHandle(hCDDevice);
Result:=True;
end
else
begin
CloseHandle(hCDDevice);
Result:=False;
end;
end
else Result:=False;
end;
DisableEject если True то блокируем иначе разблокируем
ADriveLetter тут буква диска
Как перебрать все CD-ROM в цикле думаю знаешь....