Главная страница
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.014 c
1-8418
senya
2003-10-24 15:30
2003.11.03
ShowModal


4-8722
aldapooh
2003-08-27 12:44
2003.11.03
Проверка прав пользователя


3-8293
Term
2003-10-13 17:26
2003.11.03
Как синхронизировать данные на клиентах...


14-8628
Igor_thief
2003-10-14 13:25
2003.11.03
Интерфейсы


14-8624
Keith Flint
2003-10-14 18:36
2003.11.03
Зацените сайт