Главная страница
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.033 c
1-8391
Duce
2003-10-22 15:37
2003.11.03
Вопрос технологии


1-8430
alex_***
2003-10-17 14:46
2003.11.03
Отчеты в Excel


14-8585
mrddim
2003-10-15 15:05
2003.11.03
Delphi - Кто Это?


1-8519
Димос
2003-10-23 11:54
2003.11.03
Функции из DLL


9-8251
xman
2003-04-18 11:56
2003.11.03
Сектора