Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.11.03;
Скачать: CL | DM;

Вниз

CD-ROM   Найти похожие ветки 

 
Ванька Сусанин   (2003-08-21 16:07) [0]

Здраствуйте. Как закрыть доступ к CD-ROM? Можно чтобы он был виден в проводнике, но не работал, или же типа галочки "Отключён в данной конфигурации" в свойствах CD-ROM. Заранее благодарен.


 
diMAN ©   (2003-08-22 17:47) [1]

Можно заблокировать CD-ROM.
Вот небольшой кусочек кода, правда плохо оформлен, но даёт представление куда копать:

if Win32Platform = VER_PLATFORM_WIN32_WINDOWS then
hDevice := CreateFile( "\\.\vwin32", 0, 0, nil, 0, 0, 0 )
else if Win32Platform = VER_PLATFORM_WIN32_NT then
hDevice := CreateFile( PChar("\\.\" + Drive + ":"), GENERIC_READ or GENERIC_WRITE, FILE_SHARE_READ or FILE_SHARE_WRITE, nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0 )
else MessageBox( Handle, "Operating System not supported!", "CDLock", MB_OK or MB_ICONERROR );

if Win32Platform = VER_PLATFORM_WIN32_WINDOWS then
begin
FillChar(DR, SizeOf(DR), #0);
PB.bOperation := 0; // 0 - Lock

FillChar(DR, SizeOf(DR), #0);
DR.reg_EAX := $440D; // Generic IOCTL
DR.reg_EBX := Ord(UpCase(Drive)) - Ord("A") + 1; // 0 - current, 1 - A:, 2 - B: ...
DR.reg_ECX := MAKEWORD($48, $08); // Категория устройства и код операции
DR.reg_EDX := DWORD(@PB); // Address of PARAMBLOCK

Result := DeviceIoControl( hDevice, VWIN32_DIOC_DOS_IOCTL, @DR, SizeOf(DR), @DR, SizeOf(DR), RB, nil );
Result := Result and ((DR.reg_Flags and CARRY_FLAG) = 0);
end
else if Win32Platform = VER_PLATFORM_WIN32_NT then
begin
PMR.PreventMediaRemoval := True;
Result := DeviceIOControl( hDevice, IOCTL_STORAGE_MEDIA_REMOVAL, @PMR, SizeOf(PMR), nil, 0, RB, nil );
end;



Страницы: 1 вся ветка

Текущий архив: 2003.11.03;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.026 c
1-8478
Mishenka
2003-10-24 00:17
2003.11.03
Как распечататьна принтере bmp файл?


1-8514
S!R!X
2003-10-23 15:18
2003.11.03
Выполнение команд в другом приложении с послед. выводом результ.


1-8494
АСт
2003-10-23 22:07
2003.11.03
Компонент Memo


14-8662
Ал
2003-10-14 08:48
2003.11.03
Чем можно сделать многоцветные *.ico как в XP


4-8737
aldapooh
2003-08-26 14:46
2003.11.03
LogonUser не работает