Управление DVD приводом
|
|
bob6666 | Дата: Четверг, 03 Декабря 2009, 09:37 | Сообщение # 1 |
Новый участник
Группа: Пользователи
Сообщений: 15
Репутация: 0
Награды: 0
Статус: Offline
| Помогите пожалуйста! Пытаюсь сделать значек на рабочем столе, 1-нажатием на него открывать или закрывать привод.Ничего не выходит. Если можно исходник скиньте! Заранее благодарен.
BOB
Сообщение отредактировал bob6666 - Четверг, 03 Декабря 2009, 09:38 |
|
| |
Sower | Дата: Четверг, 03 Декабря 2009, 10:18 | Сообщение # 2 |
Ветеран форума
Группа: Проверенные
Сообщений: 916
Репутация: 11
Награды: 3
Статус: Offline
| Quote (bob6666) Пытаюсь сделать значек на рабочем столе Может программку на ммб?
|
|
| |
Sower | Дата: Четверг, 03 Декабря 2009, 10:41 | Сообщение # 3 |
Ветеран форума
Группа: Проверенные
Сообщений: 916
Репутация: 11
Награды: 3
Статус: Offline
| Деожи модуль, состряпал специально для тебя такчто жду + Умеет закрывать и открывать привод Пример (исходник) есть, такчто разберешься
Сообщение отредактировал Sower - Четверг, 03 Декабря 2009, 12:53 |
|
| |
DEMBEL | Дата: Четверг, 03 Декабря 2009, 13:53 | Сообщение # 4 |
Наш дизайнер
Группа: Модераторы
Сообщений: 2266
Репутация: 135
Награды: 32
Статус: Offline
| а можешь еще сделать, чтобы программа сама определяла статус привода и решала, открыть его или закрыть? тогда и вправду можно будет обойтись одним ярлыком во всех случаях.
Win7x64 SP1 Neobook v5.70 (Trial) WinXP SP3 Neobook v5.62
|
|
| |
Sower | Дата: Четверг, 03 Декабря 2009, 14:31 | Сообщение # 5 |
Ветеран форума
Группа: Проверенные
Сообщений: 916
Репутация: 11
Награды: 3
Статус: Offline
| Quote (DEMBEL) а можешь еще сделать, чтобы программа сама определяла статус привода и решала, открыть его или закрыть? попробую в свободное время сделать
|
|
| |
YURIY | Дата: Четверг, 03 Декабря 2009, 17:08 | Сообщение # 6 |
Злостный админ
Группа: Администраторы
Сообщений: 3018
Репутация: 71
Награды: 28
Статус: Offline
| Quote (Sower) Деожи модуль, состряпал специально для тебя Мужики, вы чё, упали что ли? открыть лоток: Code MCICommand("set cdaudio door open") закрыть: Code MCICommand("set cdaudio door closed") ..\MMB\Samples\MCIresult.mbd
Вечная память Андрею Сергееву!
|
|
| |
DEMBEL | Дата: Четверг, 03 Декабря 2009, 17:30 | Сообщение # 7 |
Наш дизайнер
Группа: Модераторы
Сообщений: 2266
Репутация: 135
Награды: 32
Статус: Offline
| да уж, дружно читаем справку и файл mcistr.hlp со списком команд MCI
Win7x64 SP1 Neobook v5.70 (Trial) WinXP SP3 Neobook v5.62
|
|
| |
bob6666 | Дата: Пятница, 04 Декабря 2009, 05:53 | Сообщение # 8 |
Новый участник
Группа: Пользователи
Сообщений: 15
Репутация: 0
Награды: 0
Статус: Offline
| Огромное спасибо Sowerу за оказанную помощь! Так всё просто и ясно. А я неделю парился. Вот теперь модуль можно подправить,так-как приводов 2 и +2виртуальные. Прога теряется в догадках,какой привод открыть или закрыть. Ну ничего,пробьёмся!
BOB
Сообщение отредактировал bob6666 - Пятница, 04 Декабря 2009, 05:55 |
|
| |
Sower | Дата: Пятница, 04 Декабря 2009, 09:58 | Сообщение # 9 |
Ветеран форума
Группа: Проверенные
Сообщений: 916
Репутация: 11
Награды: 3
Статус: Offline
| Quote (bob6666) Вот теперь модуль можно подправить,так-как приводов 2 и +2виртуальные. Прога теряется в догадках,какой привод открыть или закрыть. У меня тоже два, но открывается основнойДобавлено (04 Декабрь 2009, 09:56) ---------------------------------------------
Quote (YURIY) открыть лоток: CodeMCICommand("set cdaudio door open") закрыть: CodeMCICommand("set cdaudio door closed") Кстати в модуле тоже самое, но тут например надобы сделать Quote (DEMBEL) а можешь еще сделать, чтобы программа сама определяла статус привода и решала, открыть его или закрыть? тогда и вправду можно будет обойтись одним ярлыком во всех случаях. Добавлено (04 Декабрь 2009, 09:58) ---------------------------------------------
Quote (Sower) а можешь еще сделать, чтобы программа сама определяла статус привода и решала, открыть его или закрыть? тогда и вправду можно будет обойтись одним ярлыком во всех случаях. Здесь MCICommand не поможет, во всяком случае из ммб.
|
|
| |
bob6666 | Дата: Пятница, 04 Декабря 2009, 11:22 | Сообщение # 10 |
Новый участник
Группа: Пользователи
Сообщений: 15
Репутация: 0
Награды: 0
Статус: Offline
| Модуль opeclosemodule.zip(7Kb) при запуске и нажатии на кнопку выдаёт ошибку!!!
BOB
|
|
| |
Sower | Дата: Пятница, 04 Декабря 2009, 12:30 | Сообщение # 11 |
Ветеран форума
Группа: Проверенные
Сообщений: 916
Репутация: 11
Награды: 3
Статус: Offline
| Quote (bob6666) выдаёт ошибку!!! Это не модуль выдаёт ошибку, а само приложением ммб, т.к. не может найти этот самый модуль Он должен быть во внедренных объектах (проверьте), если его там нет, то добавьте. Если есть, при этом выдаёт ошибку, значит он тупо не может скопироваться в папку temp/mmbplayer, причиной этому может быть или антивирус или чтото еще... Попробуйте прописать другой путь, например положите модуль на диск C:\ и замените в скрипте у кнопок путь <Embedded>\openclose.exe на c:\openclose.exe - это должно 100% работать, но сам модуль тут непричем!!
|
|
| |
YURIY | Дата: Пятница, 04 Декабря 2009, 16:48 | Сообщение # 12 |
Злостный админ
Группа: Администраторы
Сообщений: 3018
Репутация: 71
Награды: 28
Статус: Offline
| Quote (bob6666) Огромное спасибо Sowerу за оказанную помощь! Прошу прощения за нескромность, мой код у вас не работает, наверное? Или вас больше устраивает метод запихнуть ненужный файл в проект, когда есть стандартные команды для этого? Quote (bob6666) Вот теперь модуль можно подправить,так-как приводов 2 и +2виртуальные. Прога теряется в догадках,какой привод открыть или закрыть. В этом проекте: Quote (YURIY) ..\MMB\Samples\MCIresult.mbd есть замечательная кнопка "Open Drive E:" со следующим кодом: Code ** close MCI device before next steps (just for sure;) ** this can avoid some MCI access problems MCICommand("close cdaudio") ** now let's assume you have CD drive D: and E: and you want to open Drive E: **Open drive x: (x being the letter of the drive you wish to open [e: must be in lowercase]) MCICommand("open cdaudio!e: alias driveE") MCICommand("set driveE door open") bob6666, читайте справку и изучайте примеры в составе MMB. Никакой модуль здесь не нужен.
Вечная память Андрею Сергееву!
|
|
| |
DEMBEL | Дата: Пятница, 04 Декабря 2009, 17:08 | Сообщение # 13 |
Наш дизайнер
Группа: Модераторы
Сообщений: 2266
Репутация: 135
Награды: 32
Статус: Offline
| а статус дверки там можно определить, открыта или закрыта?
Win7x64 SP1 Neobook v5.70 (Trial) WinXP SP3 Neobook v5.62
|
|
| |
YURIY | Дата: Пятница, 04 Декабря 2009, 18:22 | Сообщение # 14 |
Злостный админ
Группа: Администраторы
Сообщений: 3018
Репутация: 71
Награды: 28
Статус: Offline
| Можно, вроде. Но пока не получается.
Вечная память Андрею Сергееву!
|
|
| |
Peter | Дата: Пятница, 04 Декабря 2009, 18:30 | Сообщение # 15 |
Админ NeoBook
Группа: Админ NeoBook
Сообщений: 1265
Репутация: 75
Награды: 18
Статус: Offline
| Quote (DEMBEL) а статус дверки там можно определить, открыта или закрыта? Как-то давно я прорабатывал ентот вопрос... К сожалению - нет!
Никто не может вернуться в прошлое и изменить свой старт. Но каждый может стартовать сейчас и изменить свой финиш!
|
|
| |
YURIY | Дата: Пятница, 04 Декабря 2009, 18:50 | Сообщение # 16 |
Злостный админ
Группа: Администраторы
Сообщений: 3018
Репутация: 71
Награды: 28
Статус: Offline
| Вообще, в MCI такая возможность есть. Стоит другой вопрос: как это применить к MMB? Но не будем торопиться с выводами, а вдруг можно... Я ещё товарища dgilmour подключил, он тоже подумает. Добавлено (04 Декабрь 2009, 18:50) ---------------------------------------------
Quote (YURIY) Вообще, в MCI такая возможность есть А вот теперь я думаю, что нету... В инфо об MCI вижу что-то такое, а на форумах читаю, что нельзя. Вероятность того, что ничего не выйдет - 99%...
Вечная память Андрею Сергееву!
|
|
| |
Peter | Дата: Пятница, 04 Декабря 2009, 20:07 | Сообщение # 17 |
Админ NeoBook
Группа: Админ NeoBook
Сообщений: 1265
Репутация: 75
Награды: 18
Статус: Offline
| Quote (YURIY) а на форумах читаю, что нельзя В том-то и дело... По оному вопросу в сети (на всех программерских порталах) один и тот же пример, и самое забавное то, что он... НЕ РАБОТАЕТ!!! Quote (YURIY) Вероятность того, что ничего не выйдет - 99%... Да, грустно...
Никто не может вернуться в прошлое и изменить свой старт. Но каждый может стартовать сейчас и изменить свой финиш!
|
|
| |
Sower | Дата: Суббота, 05 Декабря 2009, 07:53 | Сообщение # 18 |
Ветеран форума
Группа: Проверенные
Сообщений: 916
Репутация: 11
Награды: 3
Статус: Offline
| Quote (DEMBEL) а статус дверки там можно определить Я изначально знал, что MCI на это не способен, есть пример на си++, надо его посмотреть...
|
|
| |
DEMBEL | Дата: Суббота, 05 Декабря 2009, 08:00 | Сообщение # 19 |
Наш дизайнер
Группа: Модераторы
Сообщений: 2266
Репутация: 135
Награды: 32
Статус: Offline
| да, мы тут уже обсудили и пришли к выводу что MCI вроде бы должен быть способен, но нет... и вообще, кроме этого примера на С ничего путного больше нету
Win7x64 SP1 Neobook v5.70 (Trial) WinXP SP3 Neobook v5.62
|
|
| |
Sower | Дата: Суббота, 05 Декабря 2009, 08:28 | Сообщение # 20 |
Ветеран форума
Группа: Проверенные
Сообщений: 916
Репутация: 11
Награды: 3
Статус: Offline
| Вобще можно определить двумя способами: с наличием диска (две строки кода) или без (собсвенно самый главнй гемор ) Я видел код гдето на форуме, который определяеи всё это дело по задержке, т.е. когда дисковод закрыт, а его открывают, на это время программа какбы подвисает, а если он закрыт и его опять закрывают то задержки нет Вобщем это через одно место конечно, но всётаки работает, сам правда не проверял, но в комментах говорят что да, но ведь задержка может быть разная и от разных факторов зависит, может её вообще не будет... Добавлено (05 Декабрь 2009, 08:28) ---------------------------------------------
Quote (Peter) один и тот же пример, и самое забавное то, что он... НЕ РАБОТАЕТ!!! У меня вообще мси функция всегда 0 возвращает (в модуле пытался типа токого сделать)
|
|
| |
DEMBEL | Дата: Суббота, 05 Декабря 2009, 08:31 | Сообщение # 21 |
Наш дизайнер
Группа: Модераторы
Сообщений: 2266
Репутация: 135
Награды: 32
Статус: Offline
| ладно вам, забейте... я и так не помню программ, где бы от статуса дверки что-то зависело, нигде этот вопрос не использовался, только открыть/закрыть и все.
Win7x64 SP1 Neobook v5.70 (Trial) WinXP SP3 Neobook v5.62
|
|
| |
Sower | Дата: Суббота, 05 Декабря 2009, 09:01 | Сообщение # 22 |
Ветеран форума
Группа: Проверенные
Сообщений: 916
Репутация: 11
Награды: 3
Статус: Offline
| Quote (DEMBEL) только открыть/закрыть и все Вот именно, пусть bob6666 сам выбирает как ему её открыть через модуль или через ммб (мси команду) .
|
|
| |
bob6666 | Дата: Понедельник, 07 Декабря 2009, 05:35 | Сообщение # 23 |
Новый участник
Группа: Пользователи
Сообщений: 15
Репутация: 0
Награды: 0
Статус: Offline
| Да уж, вот это я всех озадачил,аж сам не рад. Друга подтянул к этому делу,он на Delphi попробовал слепить прогу,такая же хрень получается,открывает лоток+выбор привода, а закрывать не хочет,перезапускаеш прогу,закрывает.
BOB
Сообщение отредактировал bob6666 - Понедельник, 07 Декабря 2009, 05:38 |
|
| |
YURIY | Дата: Понедельник, 07 Декабря 2009, 05:42 | Сообщение # 24 |
Злостный админ
Группа: Администраторы
Сообщений: 3018
Репутация: 71
Награды: 28
Статус: Offline
| Quote (bob6666) такая же хрень Что значит такая же? Вы хоть что-нибудь сделали из предложенного выше? Всё работает идеально! Странная позиция у автора темы. Минимум подробностей, и никаких ответов на вопросы... Добавлено (07 Декабрь 2009, 05:42) --------------------------------------------- Quote (bob6666) Прикрепления: CDopen.rar(170Kb) К чему это вообще? Ещё раз повторяю команды для MMB: Quote (YURIY) открыть лоток: Code MCICommand("set cdaudio door open") закрыть: Code MCICommand("set cdaudio door closed") Никаких программ на Delphi, модулей, плагинов - ничего не нужно!!! Просто открыть MMB, создать 2 кнопки и в каждой прописать по нужной команде!
Вечная память Андрею Сергееву!
|
|
| |
bob6666 | Дата: Понедельник, 07 Декабря 2009, 05:49 | Сообщение # 25 |
Новый участник
Группа: Пользователи
Сообщений: 15
Репутация: 0
Награды: 0
Статус: Offline
| Удалил Symantec Endpoint Protection11, переустановил MMB,запустил opeclosemodule высланный мне,Всё работает!!!! Всем спасибо! Извиняюсь за свои "косяки" и назойливость.
BOB
Сообщение отредактировал bob6666 - Понедельник, 07 Декабря 2009, 05:59 |
|
| |
YURIY | Дата: Понедельник, 07 Декабря 2009, 05:51 | Сообщение # 26 |
Злостный админ
Группа: Администраторы
Сообщений: 3018
Репутация: 71
Награды: 28
Статус: Offline
| Quote (bob6666) запустил прогу Интересно, "какую"? Quote (bob6666) Извиняюсь за свои "косяки" и назойливость. Всё нормально, у нас тут и не такое бывает...
Вечная память Андрею Сергееву!
|
|
| |