var
OpenParm: TMCIJDpen_Parms;
GenParm: TMCI_Generic_Parms;
SetParm: TMCI_Set_Parms;
DI : Cardinal;
OK: boolean;
begin
OK:=false;
OpenParm.lpstrDeviceType := 'CDAudio';
repeat
mciSendCommand(0, mci_Open, mci_Open_Type, Longint(QOpenParm));
DI := OpenParm.wDevicelD;
mciSendCommand(DI, mci_Set, mci_Set_Door_Open, Longint(@SetParm));
mciSendCommand(DI, mci_Set, mci_Set_Door__Closed, LQngint (@SetParm)) ;
mciSendCoitrmand(DI, mci_Close, mci_Notify, Longint (@GenParm) );
sleep(5000);
until OK;
end;
Как открыть программно CD-ROM
Народ, кто знает как программно открыть?
исходник - открытие cd-rom'а с помощью DeviceIoControl
вот глянь
А в кратце, че она из себя представляет?
я так понимаю ты спрашиваешь про функцию. DeviceIoControl управляет устройствами, путем передачи их драйверам определенных команд, в данном случае IOCTL-команд. полное описание можешь найти в DDK.
Ага, спасибо. :D Буду ковыряться дальше.
Просто интересно как через девайс напрямую...
там должны быть, а вот скажем в sdk неполный список. к тому же есть не только IOCTL (для устройств ввода/вывода) команды, но и FSCTL вроде бы, связанные с файловой системой. единственная трудность в использовании этих команд - это то, что Delphi их не знает (по крайней мере 6 версия), так что надо смотреть где-нить значение команды и определять как константу.
Просто где их можно взять? И если не секрет, как они называются?
[quote=HexEdit]у меня стопудово не знает[/quote]
на чем же пишешь?
[quote=HexEdit]Просто где их можно взять? И если не секрет, как они называются?[/quote]
описание кодов в DDK, все что с IOCTL начинается есть коды, их около 400. в предложенном исходнике я использовал IOCTL_STORAGE_EJECT_MEDIA=$002D4808
IOCTL_STORAGE_LOAD_MEDIA=$002D480C, чтобы получить эти значения писал код на с++ потом дизасмил и брал значения.
на чем же пишешь?
[/QUOTE]
На FASM'е
[QUOTE=kosfiz]
описание кодов в DDK, все что с IOCTL начинается есть коды, их около 400. в предложенном исходнике я использовал IOCTL_STORAGE_EJECT_MEDIA=$002D4808
IOCTL_STORAGE_LOAD_MEDIA=$002D480C, чтобы получить эти значения писал код на с++ потом дизасмил и брал значения.
[/QUOTE]
Хм.. спасибо.
пример из книги "дельфи глазами хакера"
прикол закрывает и открывает CD ROM каждые 5 сек
[/QUOTE]
У меня тоже такая книженция есть, вот только я пытался сделать у, че-то не работает
, а у тебя получилось?
я тоже с mci вначале пробовал у меня не работало, вот я и "подружился" с DeviceIoControl.
У меня работает, но через девайс контрол ИМХО круче))