Как узнать положение дверцы CD-ROM

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
X-BOND
Реалист
Реалист
 
Сообщения: 944
Зарегистрирован: 19.08.2002 (Пн) 11:44
Откуда: Ukraine

Как узнать положение дверцы CD-ROM

Сообщение X-BOND » 11.12.2003 (Чт) 14:03

Вот такой элементарный вопрос.
Мне надо сделать прогу, котрая содержит всего одну кнопочку. Нажал - CD-ROM открылся, еще раз нажал - закрылся.
Подозреваю, что надо юзать mciSendString или mciSendCommand но не знаю какие параметры передавать.
(Как открывать/закрывать я знаю)
Спасибо за ответы.

Boris_BGB
Флудер-Энтузиаст
Флудер-Энтузиаст
 
Сообщения: 661
Зарегистрирован: 11.12.2002 (Ср) 11:41

Сообщение Boris_BGB » 11.12.2003 (Чт) 15:30

Я такую уже делал. Но я не использовал апи, чтоб узнать открыт ли CD-rom. Просто когда нажимаешь открыть, то переменная Boolean принимает значение True/False.
Простая логика. Но она не эффективна, если сидюк изначально открыт.
SkateBoarding is not a crime!

X-BOND
Реалист
Реалист
 
Сообщения: 944
Зарегистрирован: 19.08.2002 (Пн) 11:44
Откуда: Ukraine

Сообщение X-BOND » 11.12.2003 (Чт) 16:08

Вот нашел ссылочку http://www25.brinkster.com/msvbasic/?p=vbmci&s=vb
На ее основе написал:
MsgBox mciExecute("Capability CDAudio Can Eject")
Но в любом случае пишет 1
В чем проблема?

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 11.12.2003 (Чт) 17:01

Наверное потому, что как следует из навзания проперти, она всего лишь показывает, что дверца может быть в принципе открыта. :lol:

X-BOND
Реалист
Реалист
 
Сообщения: 944
Зарегистрирован: 19.08.2002 (Пн) 11:44
Откуда: Ukraine

Сообщение X-BOND » 11.12.2003 (Чт) 17:09

Да, точно, уже допер. :)
Но как, %;№%, все таки узнать статус устройства?
Может вообще нужна другая функция?

neprden
Обычный пользователь
Обычный пользователь
 
Сообщения: 64
Зарегистрирован: 04.10.2003 (Сб) 19:37

Как узнать положение дверцы CD-ROM

Сообщение neprden » 11.12.2003 (Чт) 17:56

Извиняюсь что вклиниваюсь но у меня проблема еще шире
у меня два cd--ка на слейве не подскажите как их открывать закрывать подозреваю что что то передавать всетаки mciSendCommand
А насчет статуса - лазил по дельфам по модулю winmm показалось даже что чето нашел :)

Boris_BGB
Флудер-Энтузиаст
Флудер-Энтузиаст
 
Сообщения: 661
Зарегистрирован: 11.12.2002 (Ср) 11:41

Сообщение Boris_BGB » 11.12.2003 (Чт) 18:32

Посмотри по форуму. Воспользуйся поиском. Это уже было.
SkateBoarding is not a crime!

GAGArin
Неистовый флудер
Неистовый флудер
 
Сообщения: 1777
Зарегистрирован: 23.12.2002 (Пн) 12:46
Откуда: я тут взялся, не знаю...

Сообщение GAGArin » 11.12.2003 (Чт) 21:08

Воспользуйся поиском.

А ты им пробовал пользоваться :twisted: Думаю нет, не советовал бы.
Наш поиск-штука хитрая, и очень капризная :) Есть более эффективный способ, облазить все вручную 8)
Последний раз редактировалось GAGArin 12.12.2003 (Пт) 13:37, всего редактировалось 1 раз.

Boris_BGB
Флудер-Энтузиаст
Флудер-Энтузиаст
 
Сообщения: 661
Зарегистрирован: 11.12.2002 (Ср) 11:41

Сообщение Boris_BGB » 12.12.2003 (Пт) 12:57

Ну, раз не работает...

Открыть - закрыть CD-Rom

В модуль(!):

Код: Выделить всё
Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As Any, ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long

'не в модуль:

Call mciSendString("Set CDAudio Door Closed Wait", 0&, 0, 0)' - ЗАКРЫТЬ
Call mciSendString("Set CDAudio Door Open Wait", 0&, 0, 0)' - Открыть
SkateBoarding is not a crime!

X-BOND
Реалист
Реалист
 
Сообщения: 944
Зарегистрирован: 19.08.2002 (Пн) 11:44
Откуда: Ukraine

Сообщение X-BOND » 12.12.2003 (Пт) 13:56

Ну-ну, оправдываешь свое звание :lol:

Меня интересует статус устройства, а товарища neprden, насколько я понял, открытие/закрытие конкретного из двух CD.
Кстати, посмотреть можно тут http://bbs.vbstreets.ru/viewtopic.php?t=3428&

Boris_BGB
Флудер-Энтузиаст
Флудер-Энтузиаст
 
Сообщения: 661
Зарегистрирован: 11.12.2002 (Ср) 11:41

Сообщение Boris_BGB » 12.12.2003 (Пт) 14:58

Ну-ну, оправдываешь свое звание :lol:

Ничего, энтузиасты тоже нужны! :wink:

Меня интересует статус устройства

Да, и я тебе предложил простую логику. 8)

а товарища neprden, насколько я понял, открытие/закрытие конкретного из двух CD.

А может у него все два открылись! :D

Кстати, посмотреть можно тут http://bbs.vbstreets.ru/viewtopic.php?t=3428&

А вот это уже интересно! Я так и знал что там есть какая-то привязка!
SkateBoarding is not a crime!


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot, SemrushBot и гости: 10

    TopList