IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

 
 Ответить  Открыть новую тему 
> Как узнать, открыта ли дверца Cd-rom?
сообщение
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 57
Пол: Мужской

Репутация: -  0  +


Как узнать, открыта ли дверца CD-ROM?
Как узнать сирийный номер диска?
Как открыть/закрыть дверцу? Я знаю такой спсоб:

MciSendString('Set cdaudio door closed', 0,0,form1.handle);

MciSendString('Set cdaudio door open', 0,0,form1.handle);


Можно ли как-нибудь еще?
Какие еще значения первого параметра в функции MciSendString существуют?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #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, если хочешь точнее...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Пионер
**

Группа: Пользователи
Сообщений: 54
Пол: Женский
Реальное имя: Евгения

Репутация: -  0  +


а можно ли встроить свою опцию в контекстное меню? например у сидюка есть "открыть" (извлечь), а добавить свою "закрыть" ??
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Пионер
**

Группа: Пользователи
Сообщений: 57
Пол: Мужской

Репутация: -  0  +


Volvo, спасибо за подсказку. smile.gif Я и не знал что это есть в MSDN.

corazon, я не понял что ты предлагаешь. Создать новый метод? Все равно придется выходить на winmm.dll.


Повторяю главные вопросы:

Как узнать, открыта ли дверца CD-ROM?
Как узнать сирийный номер диска?

Сообщение отредактировано: CMOS -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Гость






Вот как узнать серийный номер диска: http://proging.h1.ru/articles/system/s23.htm

Насчет
Цитата
узнать, открыта ли дверца CD-ROM
- не думаю, что это возможно.

Хотя попробуй воспользоваться
DeviceIoControl( CD_Handle, IOCTL_SCSI_PASS_THROUGH_DIRECT, ...);
, может что-нибудь и получится... ;)
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Пионер
**

Группа: Пользователи
Сообщений: 57
Пол: Мужской

Репутация: -  0  +


Невозможно?
А как же тогда Nero DriveSpeed? Да даже стандартный виндозовский лазерный проигрыватель (даже из Win 3.1) когда дверца закрыта - открывает, когда открыта - закрывает. Как он это делает?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Гость






CMOS, ты бы с Nero не равнялся (с MicroSoft тем более)... Кроме того, не надо читать ответы через строчку, я сказал, куда надо копать. Пробовал?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Профи
****

Группа: Пользователи
Сообщений: 618
Пол: Мужской

Репутация: -  24  +


Открывать-закрывать дверцу ты умеешь. Что ещё надо? Если тебе нужно, чтобы дверца была открыта - открываешь (если уже открыта - просто ничего не произойдёт). И наоборот.


--------------------
Close the World...txeN eht nepO
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #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);
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10


Пионер
**

Группа: Пользователи
Сообщений: 57
Пол: Мужской

Репутация: -  0  +


Цитата
CMOS, ты бы с Nero не равнялся (с MicroSoft тем более)


volvo, не боги горшки обжигают.
Насчет DeviceIoControl - там слишком много параметров. Откуда мне их знать?Должен быть путь проще.

Malice, ты забыл еще два параметра в этих функциях. Пробовал ставить их нулями. Обе эти функции вернули $101 (257) в не зависимости от состояния сидюка.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #11


Гость






Цитата(CMOS @ 13.08.05 21:00)
Насчет DeviceIoControl - там слишком много параметров. Откуда мне их знать? Должен быть путь проще.

angry.gif Специально для CMOS MicroSoft забыла оставить более простой способ определения закрытости дверцы !!! Срочно обращайся в Гаагу !!!

Цитата(CMOS @ 13.08.05 21:00)
Откуда мне их знать?
Откуда знать?
msdn.microsoft.com - или "не царское это дело"?

Если найдешь функцию WinAPI без параметров, которая проверяет открыт ли лоток, сообщи обязательно.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #12


Профи
****

Группа: Пользователи
Сообщений: 705
Пол: Мужской

Репутация: -  20  +


Цитата(CMOS @ 13.08.05 21:00)
Malice, ты забыл еще два параметра в этих функциях.
Я не зыбыл, я же не в исходниках смотрел smile.gif Написал принцип.

Цитата(CMOS @ 13.08.05 21:00)
Пробовал ставить их нулями. Обе эти функции вернули $101 (257) в не зависимости от состояния сидюка.

У меня CDPlayer выдвигает дверь только если там диск есть, иначе не хочет. Мож у тебя тоже самое. Ты сам на него кивнул, я сказал как там сделано, разбирайся smile.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 11.09.2025 0:09
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name