View previous topic :: View next topic |
Author |
Message |
aLexx
Joined: 14 Mar 2005 Posts: 442 Location: Новокузнецк
|
(Separately) Posted: Sun Sep 17, 2006 06:27 Post subject: Работа с CD-ROM'ом -- Новая идея! |
|
|
Привет всем!
Клавиши F1 (Кто-нить когда-нить справку читал? ), F11 и F12 на моём ТС никогда не использовались. Задумка:
На F1 повесить изменение состояния CD-ROM'а. Т.е., если открыт - закрыть и наоборот. Причём, при закрытии не просчитывать наличие компакт-диска. Просто закрыть. А на F11 и F12 повесить переход на сидюк, соответственно, на левой и на правой панелях ТС.
Лично я пока это всё реализовал с помощью скриптов от Aezay (прога "TcScript") и утилитки "CDEject". Но что-то мне оно не очень нравится.
Могут ли наши гуру реализовать это с помощию скриптов "vbs"?
И, желательно, без применения ентой утилитки. Просто скриптом... |
|
Back to top |
|
|
StrangeRRor
Joined: 15 Jul 2006 Posts: 214
|
(Separately) Posted: Sun Sep 17, 2006 14:28 Post subject: |
|
|
Quote: | А на F11 и F12 повесить переход на сидюк |
Для этого можно использовать команду cm_GotoDrive[диск]=... |
|
Back to top |
|
|
aLexx
Joined: 14 Mar 2005 Posts: 442 Location: Новокузнецк
|
(Separately) Posted: Mon Sep 18, 2006 03:39 Post subject: |
|
|
Эти команды и используются. Сидюк у меня буквой Z, поэтому никаких напрягов с cm_GotoDrive нет. Просто, когда закрываешь сидюк средствами ТС, т.е. этой командой (а вставлена, например, болванка для записи), то ТС слишком долго её пытается прочитать, а затем выкатывает - "Ошибка, нет диска!". А у меня по F1 сидюк просто закрывается, без чтения.
Я через 10-15 мнут забыл, что на приводе кнопка есть... |
|
Back to top |
|
|
StrangeRRor
Joined: 15 Jul 2006 Posts: 214
|
(Separately) Posted: Mon Sep 18, 2006 10:17 Post subject: |
|
|
А если попробовать поиграть с параметрами Noreread=... и DeviceChange=... |
|
Back to top |
|
|
CaptainFlint
Joined: 14 Dec 2004 Posts: 6151 Location: Москва
|
(Separately) Posted: Mon Sep 18, 2006 10:28 Post subject: |
|
|
aLexx
Вот, нарыл в инете VBS-скрипт, подогнал под требуемые условия:
Code: | Set oWMP = CreateObject("WMPlayer.OCX.7")
Set colCDROMs = oWMP.cdromCollection
colCDROMs.Item(0).Eject
colCDROMs.Item(0).Eject |
Вроде, работает. Eject вызывается два раза, поскольку эта функция закрывает лоток только если была вызвана после открытия. В первый раз пытается открыть, даже если сидюк открыт.
Единственная проблема - у меня не хочет завершаться. Процесс wscript остаётся висеть в памяти. Может, кто-то из скриптовых гуру подсобит...
StrangeRRor wrote: | А если попробовать поиграть с параметрами Noreread=... и DeviceChange=... |
Вопрос был не в этом. Просто если использовать для закрытия сидюка команду перехода на диск, то Тотал будет после закрытия переходить на этот диск и перечитывать его, чего хочется избежать, если диска нет. Требуется просто закрыть, без перехода на этот диск и без использования внешних средств (не знаю, почему). _________________ Почему же, ё-моё, ты нигде не пишешь "ё"? |
|
Back to top |
|
|
aLexx
Joined: 14 Mar 2005 Posts: 442 Location: Новокузнецк
|
(Separately) Posted: Sat Sep 23, 2006 10:27 Post subject: |
|
|
2 CaptainFlint
Сенькс, будем пробовать...
"без использования внешних средств (не знаю, почему)"
Хотя и утилька CDEject_103 (автор - Tir Na Nog) всего 12 кб, но хотелось бы более элегантное решение... |
|
Back to top |
|
|
Volniy
Joined: 15 Dec 2004 Posts: 585 Location: Местный
|
(Separately) Posted: Sun Sep 24, 2006 04:08 Post subject: |
|
|
aLexx wrote: | ... всего 12 кб, но хотелось бы более элегантное решение... |
NERO установлена? Тогда может вот этот VBS скрипт подойдет:
Code: | Set n = CreateObject("Nero.Nero")
Set d = n.GetDrives(262172)(0)
'd.EjectCD
d.LoadCD
'd.EraseCDRW(True)
Set d=Nothing
Set n=Nothing |
Закомментированные строки это для создания других команд. Соответственно d.EjectCD для выкидывания СD, а d.EraseCDRW(True) - для быстрого стирания RW диска (это не проверил, просто такого диска под рукой не оказалось).
Last edited by Volniy on Sun Sep 24, 2006 15:26; edited 1 time in total |
|
Back to top |
|
|
aLexx
Joined: 14 Mar 2005 Posts: 442 Location: Новокузнецк
|
(Separately) Posted: Sun Sep 24, 2006 07:40 Post subject: |
|
|
Nero7 установлен. Но думаю сносить...
Нашёл прогу для записи CD-DVD. Всего 500 кб, а умеет всё, что может Nero. Простая, как перетягивание каната.
Но скриптик попробую. Спасибо! |
|
Back to top |
|
|
Zorroz
Joined: 16 Dec 2004 Posts: 308 Location: Россия, Иркутская обл., г. Ангарск
|
(Separately) Posted: Sun Sep 24, 2006 08:18 Post subject: |
|
|
Volniy
EjectCD и LoadCD работают. При вызове d.EraseCDRW(True) ничего не происходит. Стоит Nero7. _________________ Когда ангелу обрезают крылья, он учится летать на метле... |
|
Back to top |
|
|
Volniy
Joined: 15 Dec 2004 Posts: 585 Location: Местный
|
(Separately) Posted: Sun Sep 24, 2006 15:44 Post subject: |
|
|
Zorroz wrote: | При вызове d.EraseCDRW(True) ничего не происходит. Стоит Nero7. |
Взял у соседа RW и проверил - точно не трёт. Заморочка с выбором типа поддерживаемых носителей. Там большой список констант и никакого объяснения что и к чему. Поменял на 262172 (NERO_MEDIA_DVD_ANY). Теперь вроде работает (у меня ).
Немного более продвинутый вариант скрипта
. |
|
Back to top |
|
|
aLexx
Joined: 14 Mar 2005 Posts: 442 Location: Новокузнецк
|
(Separately) Posted: Sun Sep 24, 2006 18:50 Post subject: |
|
|
И всё-таки пока решил оставить всё как есть...
Прдётся стороннюю прогу юзать.
Вот когды освою WSH, буду экскрименты ставить. |
|
Back to top |
|
|
DrShark
Joined: 21 Oct 2006 Posts: 911 Location: Kyiv, Ukraine
|
(Separately) Posted: Sat May 31, 2008 00:31 Post subject: |
|
|
CaptainFlint wrote: | Вот, нарыл в инете VBS-скрипт, подогнал под требуемые условия:
[...]
Единственная проблема - у меня не хочет завершаться. Процесс wscript остаётся висеть в памяти. Может, кто-то из скриптовых гуру подсобит... |
Отличное решение! И у меня процесс в памяти не висит. |
|
Back to top |
|
|
Вахмурка
Joined: 27 Dec 2004 Posts: 2584 Location: Большая деревня Москва
|
(Separately) Posted: Sat May 31, 2008 21:23 Post subject: |
|
|
У PowerPro есть плагин, открывающий/закрывающий лоток. Внешних утилит не требует. Мне не подходит, потому что у меня лотков этих два, а тот плагин позволяет работать только с одним. Я повесил действия открыть/закрыть на клавиши в ТС и на панель PowerPro. Однако поставленную в посте aLexx задачу тот плагин решает. _________________ Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон) |
|
Back to top |
|
|
Моторокер
Joined: 06 May 2005 Posts: 1517 Location: г. Пермь (читается Перьмь)
|
(Separately) Posted: Mon Jun 02, 2008 08:08 Post subject: |
|
|
Программа CDSlow решает все проблемы, плюс ограничивает скорость вращения диска. _________________ плагины для Total Commander, статьи Graphics Converter; NSCopy; SEO HTML; KillOK; Плагин на Delphi
ПармаСруб - строительство домов и бань в Перми
Last edited by Моторокер on Wed Jun 04, 2008 08:12; edited 1 time in total |
|
Back to top |
|
|
aLexx
Joined: 14 Mar 2005 Posts: 442 Location: Новокузнецк
|
(Separately) Posted: Tue Jun 03, 2008 23:58 Post subject: |
|
|
А можно здесь поподробней? Из командной строки можно, или нет?
У меня версия CDSlow 2.2. |
|
Back to top |
|
|
|