Как узнать, открыта ли дверца Cd-rom? |
Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
Как узнать, открыта ли дверца Cd-rom? |
CMOS |
7.07.2005 21:11
Сообщение
#1
|
Пионер Группа: Пользователи Сообщений: 57 Пол: Мужской Репутация: 0 |
Как узнать, открыта ли дверца CD-ROM?
Как узнать сирийный номер диска? Как открыть/закрыть дверцу? Я знаю такой спсоб: MciSendString('Set cdaudio door closed', 0,0,form1.handle); Можно ли как-нибудь еще? Какие еще значения первого параметра в функции MciSendString существуют? |
volvo |
7.07.2005 21:19
Сообщение
#2
|
Гость |
Цитата(CMOS @ 7.07.05 21:11) Какие еще значения первого параметра в функции MciSendString существуют? Вот список только по первому слову: Цитата break capability capture close configure copy cue cut delete escape freeze index info list load mark monitor open paste pause play put quality realize record reserve restore resume save seek set setaudio settimecode settuner setvideo signal spin status step stop sysinfo undo unfreeze update where window MSDN: Multimedia Command Strings, если хочешь точнее... |
corazon |
14.07.2005 17:46
Сообщение
#3
|
Пионер Группа: Пользователи Сообщений: 54 Пол: Женский Реальное имя: Евгения Репутация: 0 |
а можно ли встроить свою опцию в контекстное меню? например у сидюка есть "открыть" (извлечь), а добавить свою "закрыть" ??
|
CMOS |
16.07.2005 21:57
Сообщение
#4
|
Пионер Группа: Пользователи Сообщений: 57 Пол: Мужской Репутация: 0 |
Volvo, спасибо за подсказку. Я и не знал что это есть в MSDN.
corazon, я не понял что ты предлагаешь. Создать новый метод? Все равно придется выходить на winmm.dll. Повторяю главные вопросы: Как узнать, открыта ли дверца CD-ROM? Как узнать сирийный номер диска? Сообщение отредактировано: CMOS - 16.07.2005 21:59 |
volvo |
17.07.2005 11:23
Сообщение
#5
|
Гость |
Вот как узнать серийный номер диска: http://proging.h1.ru/articles/system/s23.htm
Насчет Цитата узнать, открыта ли дверца CD-ROM - не думаю, что это возможно.Хотя попробуй воспользоваться DeviceIoControl( CD_Handle, IOCTL_SCSI_PASS_THROUGH_DIRECT, ...);, может что-нибудь и получится... ;) |
CMOS |
24.07.2005 21:01
Сообщение
#6
|
Пионер Группа: Пользователи Сообщений: 57 Пол: Мужской Репутация: 0 |
Невозможно?
А как же тогда Nero DriveSpeed? Да даже стандартный виндозовский лазерный проигрыватель (даже из Win 3.1) когда дверца закрыта - открывает, когда открыта - закрывает. Как он это делает? |
volvo |
24.07.2005 21:19
Сообщение
#7
|
Гость |
CMOS, ты бы с Nero не равнялся (с MicroSoft тем более)... Кроме того, не надо читать ответы через строчку, я сказал, куда надо копать. Пробовал?
|
Archon |
24.07.2005 23:46
Сообщение
#8
|
Профи Группа: Пользователи Сообщений: 618 Пол: Мужской Репутация: 24 |
Открывать-закрывать дверцу ты умеешь. Что ещё надо? Если тебе нужно, чтобы дверца была открыта - открываешь (если уже открыта - просто ничего не произойдёт). И наоборот.
-------------------- Close the World...txeN eht nepO
|
Malice |
25.07.2005 10:34
Сообщение
#9
|
Профи Группа: Пользователи Сообщений: 705 Пол: Мужской Репутация: 20 |
Цитата(CMOS @ 24.07.05 21:01) Да даже стандартный виндозовский лазерный проигрыватель (даже из Win 3.1) когда дверца закрыта - открывает, когда открыта - закрывает. Как он это делает? Сейчас посмотрел в CDPlayer.exe из win98. При нажатии на Eject там примерно так: Код if mciSendCommandA ( MCI_STATUS, MCi_Status_Item)=$212 then mciSendCommandA ( MCI_SET, MCI_SET_DOOR_CLOSED) else mciSendCommandA ( MCI_SET, MCI_SET_DOOR_OPEN); |
CMOS |
13.08.2005 21:00
Сообщение
#10
|
Пионер Группа: Пользователи Сообщений: 57 Пол: Мужской Репутация: 0 |
Цитата CMOS, ты бы с Nero не равнялся (с MicroSoft тем более) volvo, не боги горшки обжигают. Насчет DeviceIoControl - там слишком много параметров. Откуда мне их знать?Должен быть путь проще. Malice, ты забыл еще два параметра в этих функциях. Пробовал ставить их нулями. Обе эти функции вернули $101 (257) в не зависимости от состояния сидюка. |
volvo |
13.08.2005 21:21
Сообщение
#11
|
Гость |
Цитата(CMOS @ 13.08.05 21:00) Насчет DeviceIoControl - там слишком много параметров. Откуда мне их знать? Должен быть путь проще. Специально для CMOS MicroSoft забыла оставить более простой способ определения закрытости дверцы !!! Срочно обращайся в Гаагу !!! Цитата(CMOS @ 13.08.05 21:00) Откуда мне их знать? Откуда знать?msdn.microsoft.com - или "не царское это дело"? Если найдешь функцию WinAPI без параметров, которая проверяет открыт ли лоток, сообщи обязательно. |
Malice |
14.08.2005 16:45
Сообщение
#12
|
Профи Группа: Пользователи Сообщений: 705 Пол: Мужской Репутация: 20 |
Цитата(CMOS @ 13.08.05 21:00) Malice, ты забыл еще два параметра в этих функциях. Я не зыбыл, я же не в исходниках смотрел Написал принцип.Цитата(CMOS @ 13.08.05 21:00) Пробовал ставить их нулями. Обе эти функции вернули $101 (257) в не зависимости от состояния сидюка. У меня CDPlayer выдвигает дверь только если там диск есть, иначе не хочет. Мож у тебя тоже самое. Ты сам на него кивнул, я сказал как там сделано, разбирайся |
Текстовая версия | 29.04.2024 5:00 |