![]() |
Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
![]() ![]() |
![]() |
CMOS |
![]()
Сообщение
#1
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 57 Пол: Мужской Репутация: ![]() ![]() ![]() |
Как узнать, открыта ли дверца CD-ROM?
Как узнать сирийный номер диска? Как открыть/закрыть дверцу? Я знаю такой спсоб: MciSendString('Set cdaudio door closed', 0,0,form1.handle); Можно ли как-нибудь еще? Какие еще значения первого параметра в функции MciSendString существуют? |
volvo |
![]()
Сообщение
#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 |
![]()
Сообщение
#3
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 54 Пол: Женский Реальное имя: Евгения Репутация: ![]() ![]() ![]() |
а можно ли встроить свою опцию в контекстное меню? например у сидюка есть "открыть" (извлечь), а добавить свою "закрыть" ??
|
CMOS |
![]()
Сообщение
#4
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 57 Пол: Мужской Репутация: ![]() ![]() ![]() |
Volvo, спасибо за подсказку.
![]() corazon, я не понял что ты предлагаешь. Создать новый метод? Все равно придется выходить на winmm.dll. Повторяю главные вопросы: Как узнать, открыта ли дверца CD-ROM? Как узнать сирийный номер диска? Сообщение отредактировано: CMOS - 16.07.2005 21:59 |
volvo |
![]()
Сообщение
#5
|
Гость ![]() |
Вот как узнать серийный номер диска: http://proging.h1.ru/articles/system/s23.htm
Насчет Цитата узнать, открыта ли дверца CD-ROM - не думаю, что это возможно.Хотя попробуй воспользоваться DeviceIoControl( CD_Handle, IOCTL_SCSI_PASS_THROUGH_DIRECT, ...);, может что-нибудь и получится... ;) |
CMOS |
![]()
Сообщение
#6
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 57 Пол: Мужской Репутация: ![]() ![]() ![]() |
Невозможно?
А как же тогда Nero DriveSpeed? Да даже стандартный виндозовский лазерный проигрыватель (даже из Win 3.1) когда дверца закрыта - открывает, когда открыта - закрывает. Как он это делает? |
volvo |
![]()
Сообщение
#7
|
Гость ![]() |
CMOS, ты бы с Nero не равнялся (с MicroSoft тем более)... Кроме того, не надо читать ответы через строчку, я сказал, куда надо копать. Пробовал?
|
Archon |
![]()
Сообщение
#8
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 618 Пол: Мужской Репутация: ![]() ![]() ![]() |
Открывать-закрывать дверцу ты умеешь. Что ещё надо? Если тебе нужно, чтобы дверца была открыта - открываешь (если уже открыта - просто ничего не произойдёт). И наоборот.
-------------------- Close the World...txeN eht nepO
|
Malice |
![]()
Сообщение
#9
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 705 Пол: Мужской Репутация: ![]() ![]() ![]() |
Цитата(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 |
![]()
Сообщение
#10
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 57 Пол: Мужской Репутация: ![]() ![]() ![]() |
Цитата CMOS, ты бы с Nero не равнялся (с MicroSoft тем более) volvo, не боги горшки обжигают. Насчет DeviceIoControl - там слишком много параметров. Откуда мне их знать?Должен быть путь проще. Malice, ты забыл еще два параметра в этих функциях. Пробовал ставить их нулями. Обе эти функции вернули $101 (257) в не зависимости от состояния сидюка. |
volvo |
![]()
Сообщение
#11
|
Гость ![]() |
Цитата(CMOS @ 13.08.05 21:00) Насчет DeviceIoControl - там слишком много параметров. Откуда мне их знать? Должен быть путь проще. ![]() Цитата(CMOS @ 13.08.05 21:00) Откуда мне их знать? Откуда знать?msdn.microsoft.com - или "не царское это дело"? Если найдешь функцию WinAPI без параметров, которая проверяет открыт ли лоток, сообщи обязательно. |
Malice |
![]()
Сообщение
#12
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 705 Пол: Мужской Репутация: ![]() ![]() ![]() |
Цитата(CMOS @ 13.08.05 21:00) Malice, ты забыл еще два параметра в этих функциях. Я не зыбыл, я же не в исходниках смотрел ![]() Цитата(CMOS @ 13.08.05 21:00) Пробовал ставить их нулями. Обе эти функции вернули $101 (257) в не зависимости от состояния сидюка. У меня CDPlayer выдвигает дверь только если там диск есть, иначе не хочет. Мож у тебя тоже самое. Ты сам на него кивнул, я сказал как там сделано, разбирайся ![]() |
![]() ![]() |
![]() |
Текстовая версия | 18.06.2025 8:28 |