... на главную



... F.A.Q
:: полезные советы
:: установка Windows
:: Windows XP
:: Windows Update, SP, патчи
:: автозагрузка
:: проблемы с софтом
:: устранение сбоев
:: проблемы с драйверами
:: MS-DOS
:: кодировки, шрифты
:: file system, swap
:: папки, иконки, ярлыки
:: автозапуск CD
:: модемы и принтеры
:: локальная сеть
:: интернет, Internet Explorer
:: игры, мультимедиа
:: всякая всячина











автозапуск компакт-дисков. проблемы с CD-ROM


Сергей Трошин
stnvidnoye@mail.ru

Q: Хочу создать CD, запускающийся автоматически. Расскажите, пожалуйста, как это делается - какие параметры используются для этого в файле autorun.inf, и есть ли программы для облегчения работы с этим файлом.

A: Действительно, для того чтобы сделать компакт-диск с автозапуском, то есть такой диск, при установке которого автоматически запускается заданная при создании диска программа (обычно инсталлятор) или же открывается заранее определенный документ (инструкция по установке программы или использованию диска), применяется специальный конфигурационный файл autorun.inf, находящийся в корневой папке компакт-диска.
В этом файле прописан путь к запускаемой программе, путь к файлу значка, который должен отображаться в Проводнике для данного диска, а также еще ряд параметров, которые считываются и выполняются средствами Windows, если только функция автозапуска не запрещена в настройках ОС.
Запретить автозапуск CD-ROM можно двумя способами:
- с помощью диалога "Система: свойства", сняв флажок "Auto insert notification" в свойствах привода компакт-дисков; в реестре при этом пропишется специальный параметр в разделе, соответствующем модели вашего привода:
HKEY_LOCAL_MACHINE\Enum\SCSI\
QSI_____CD-ROM_SCR-242__C\
MF&CHILD0001&PCI&VEN_8086&
DEV_244A&SUBSYS_80DF104D&
REV_03&BUS_00&DEV_1F&
FUNC_0100
"AutoInsertNotification"=
hex:00
- либо с помощью наверняка уже давно известной читателям Upgrade утилиты TweakUI - флажки "Play audio CDs automatically" и "Play data CDs automatically" на вкладке "Paranoia"; в этом случае в реестре появится такая запись:
HKEY_USERS\.DEFAULT\SOFTWARE\
Microsoft\Windows\Current
Version\Policies\Explorer
"NoDriveTypeAutoRun"=
hex:b5,00,00,00
Кстати говоря, этот файл обычно работоспособен применительно и к жесткому диску - эта возможность иногда используется в качестве крайне неэлегантного способа смены значка жесткого диска, поэтому если у вас вдруг иконка диска приобрела какие-то левые очертания, либо в его контекстном меню появились посторонние команды, просто найдите в корневой директории файл autorun.inf и удалите его.
Можно сделать и так, что даже с флоппи-дисками будет работать автозапуск - для этого достаточно в не менее известной среди грамотных пользователей программе WinBoost 2001 Gold на странице "Miscellaneous 2" установить флажок "Enable Autorun for Disk Drive" либо прописать вручную в реестре параметр:
HKEY_USERS\.DEFAULT\SOFTWARE\
Microsoft\Windows\Current
Version\Policies\Explorer
"NoDriveTypeAutoRun"=
hex:91,00,00,00
Исходное же значение этого параметра, при котором автозапуск работает только для привода CD-ROM, таково: "NoDriveTypeAutoRun"=
hex:95,00,00,00
Итак, если в вашей системе автозапуск не отключен, то можно поэкспериментировать с созданием оригинальных дисков, отлично подходящих для передачи недостаточно опытным в компьютерном деле друзьям и знакомым.
Всего возможных команд файла autorun.inf совсем немного:
Icon
Defaulticon
Label
Open
Shellexecute
Shell
shell\verb
Рассмотрим их поподробнее.
Команда icon задает файл значка, который будет отображаться в Проводнике Windows (и некоторых других программах) вместо стандартного "виндового", ее синтаксис таков: icon=iconfile[,index]. Как источник значка (iconfile) могут использоваться файлы нескольких типов: ico, bmp, exe, dll.
Файл со значком должен располагаться в той же директории на диске, что и программа, автозапуск которой задан командой open в файле autorun.inf. Если файл содержит более одной иконки, то необходимо указывать еще и индекс значка (индекс иконок в файлах отсчитывается от нуля).
Пример:
icon=МояПрога.exe,1
Команда Defaulticon отличается лишь тем, что позволяет задавать еще и путь к файлу значка:
defaulticon=iconpath[,index]
В случае использования двух команд - icon и defaulticon система обрабатывает только defaulticon.
Команда label задает наименование диска, которое будет отображаться в интерфейсе Windows вместо стандартного названия диска. В качестве этого названия может быть любой текст с пробелами, конечно, разумной длины: label=Это мой кул-диск!!!
Команда open задает путь и имя файла программы, который будет автоматически запущен операционной системой при установке диска в привод CD-ROM.
Ее синтаксис: open=[exepath\]exefile [param1 [param2]...]
Если путь к файлу (exepath) не указан явным образом, то файл запускаемой программы должен находиться в корневой директории компакт-диска. Вы также можете указывать любые переключатели командной строки для выбранного приложения, разумеется, если программа поддерживает такие переключатели и в них есть потребность: open=C:\Windows\explorer.exe /n,/e,C:
Команда shellexecute задает приложение или файл с данными, которые будут использоваться операционной системой при вызове функции ShellExecuteEx.
Синтаксис:
shellexecute=[filepath\]filename[param1, [param2]...]
Если путь к файлу (filepath) не указан явным образом, то файл также должен находиться в корневой директории компакт-диска. Если в данном параметре указывается исполнимый файл, то он будет запущен, если же это документ или файл с данными, то ShellExecuteEx выполнит команду, ассоциированную в системе с данным классом файлов. То есть, грубо говоря, это то же самое, что и команда open, но shellexecute позволяет автоматически открывать документы с помощью соответствующих им приложений: shellexecute=
ReadMe.doc.
Команда shell определяет команду в контекстном меню данного диска, используемую системой по умолчанию: shell=verb.
Здесь verb соответствует глаголу, выбранному для команды, задаваемой в нижеописанном параметре shell\verb файла autorun.inf. Как это выглядит на практике, если говорить понятнее? Когда пользователь щелкает правой кнопкой мыши на значке диска, то появляется контекстное меню.
Если на диске присутствует файл autorun.inf и в нем указан параметр shell, то умолчальная команда этого контекстного меню берется из значения этого параметра. То есть можно принудительно указать системе, какую команду ей следует выполнять, задав при этом новую, пользовательскую команду.
Эта же команда выполняется, если пользователь делает двойной клик левой кнопкой мыши на значке диска. При создании новой команды необходимо определить две вещи: ее глагол (можно также вместо короткого глагола выбрать специальное название, которое будет отображаться в контекстном меню) и указать саму командную строку, которая будет выполнена при выборе этой команды.
Если же не устанавливать параметр shell, то операционная система будет считать командой по умолчанию "AutoPlay" и запускать при щелчке по значку диска программу, указанную в параметре open.
Для создания новой пользовательской команды контекстного меню используется команда shell\verb\command. Ее синтаксис: shell\verb\command=
[filepath\]Filename.exe
Здесь verb - придуманный для вашей команды короткий глагол, не содержащий пробелов. По умолчанию именно этот глагол отображается в контекстном меню в качестве команды. Если же необходимо поместить в контекстное меню достаточно длинную строку, содержащую пробелы, то для замены глагола verb используется следующая необязательная команда:
shell\verb=MenuText
При этом в контекстном меню будет отображаться текст MenuText, который в отличие от обязательного глагола может содержать пробелы, строчные и прописные буквы. Также в этом случае можно самостоятельно задать горячую клавишу для данной команды, проставив амперсанд (&) перед выбранной для этого буквой.
Пример:
shell=readme
shell\readme\command=
notepad readme.txt
shell\readme=Read &Me First!
Кстати, подобных дополнительных команд в контекстное меню диска можно добавлять несколько, задавая разные глаголы и разный текст MenuText.
Таким образом, создание компакт-дисков с автозапуском ручным способом - редактированием файла autorun.inf в Блокноте - более чем простое занятие, не требующее никаких особых навыков.
Главное - не забывать, что в файле autorun.inf первой строкой обязательно должна идти запись: [autorun].
Все остальные параметры следует располагать ниже, каждый на своей строке.

Q: У меня перестал почему-то работать автозапуск для компакт-дисков, хотя я ничего в настройках системы последнее время не менял. Где искать причину "глюка"?

A: Во-первых, посмотрите в свойствах привода CD-ROM, включен ли флажок Auto Insert Notification ("Автоматическое распознавание диска"). Затем проверьте с помощью утилиты TweakUI, включен ли режим Autorun ("Автозапуск") - флажок, отвечающий за это, расположен на вкладке Paranoia - там он называется Play data CDs automatically. Включение автозапуска соответствует такому параметру в реестре: [HKEY_CURRENT_USER]
"NoDriveTypeAutoRun"=hex:95,00,00,00.
Если все включено, но автозапуск не работает - то, возможно, вы отключили Рабочий Стол программой типа WinBoost. Когда вы включите его опять и нажмете в появляющемся обычно после сбоев диалоге кнопку "Восстановить Рабочий Стол", то все должно заработать.

Q: У меня такой случай. После инсталляции программы с самозагружающегося CD произошло необычное превращение значка диска С: в нечто с ярлыком типа листка. При нажатии левой кнопки мышки на диск C: она пишет, что не может найти setup.
Если нажать на правую кнопку мышки, то в выпадающем меню появляется строка "Автозапуск". Тот диск, из-за которого все произошло, загрузить невозможно, т. к. отдали. Помогите, пожалуйста, очень необходимо. Форматировать диск не имеем возможности, т. к. много служебных программ.

A: Разумеется, форматировать ничего не нужно - проблема эта решается очень быстро. Просто найдите в корне жесткого диска файл autorun.inf и удалите его.

Q: Я что-то намудрил в настройках Windows, и система перестала видеть привод компакт-дисков - что делать?

A: Во-первых, убедитесь, что в файлах Autoexec.bat и Config.sys отсутствуют DOS-драйвера для CD-ROM, затем в "Свойствах системы" удалите привод компакт-дисков и перегрузите Windows - все должно заработать.

Q: Я только что прикупил себе привод CD-RW, очень доволен, но многое мне пока еще не совсем понятно - все эти ISO, Joliet, и прочая китайская грамота. Хотелось бы поподробнее разобраться с технологией записи компакт-дисков, узнать тонкости и трюки этого процесса, найти полезные программы. Не подскажете, где можно найти хорошую документацию по этому вопросу?

A: Отличный огромный FAQ по записи компакт-дисков вы найдете на сайте members.tripod.com/greatkorzhik/cdrfaq.htm - это русский вариант. Англоязычный же оригинал находится по адресу www.cdrfaq.org - в нем освещены практически все вопросы, возникающие у новичков при работе с CD-RW, а также немало такой информации, которую знает не каждый профессионал этого дела.

Q: Как программно отключить CD-ROM под Windows 9x, а затем программно его включить, чтобы дети не баловались? Если удалить устройство в Cвойствах системы, то при перезагрузке начинает работать Plug&Play, и оно снова появляется.

A: С помощью все тех же программ WinBoost2000 или TweakUI вы спрячете от посторонних глаз любой диск.

Q: Расскажите пожалуйста, что такое SmartDrive и где его взять?

A: Это драйвер для кэширования дисков в режиме MS-DOS, нужен для ускорения работы операционной системы с жестким диском или CD-ROM. Он имеется в составе и MS-DOS, и Windows (смотрите папку C:\Windows - файл smartdrv.exe). Подробнее об этом драйвере (да и о других командах и драйверах MS-DOS) вы узнаете из статей на сайте www.syc.k12.pa.us/doshelp.

Q: Как программно снизить скорость 50-скоростного CD хотя бы до 8-ми??? Давно ношусь с этим вопросом, но на различных конфах и в журналах это мало обсуждается и мнения кардинально разные. И вот недавно, по-моему в "Апгрейде" (потому как читаю только "Компьютерру" и "Апгрейд" и подозреваю, что в "Компьютерре" решение подобной проблемы вряд ли обсуждалось), нашел обстоятельный ответ на этот вопрос, но - о Боже! - куда-то подевался номер этого журнала.

A: Попробуйте Nero Drive Speed (www.ahead.de/en/download.htm) - эта небольшая утилита предназначенная специально для снижения скорости привода.

Q: В Windows 2000 после удаления программ Adaptec Easy Creator 5.01 и DirectCD стал недоступен CD-ROM из окна "My Computer". В менеджере устройств "Device Manager" присутствует сообщение об ошибке: "The device is not working properly because Windows cannot load the drivers required for this device (Code 31)", либо "A driver for this device was not required, and has been disabled (Code 32 or Code 31)", либо "Your registry might be corrupted. (Code 19)", либо выдается код ошибки 39 - "Driver is corrupted".

A: Для устранения проблемы попробуйте для начала удалить в списке устройств привод CD-ROM и переустановить его после перезагрузки системы. Если это не помогло, то удалите параметры UpperFilters и LowerFilters в разделе реестра HKEY_LOCAL_MACHINE\SYSTEM\Current
ControlSet\Control\Class\{4D36E965-E325-
11CE-BFC1-08002BE10318} и перегрузите ПК. Если и это не помогло, то удалите Windows Media Player 7.0 и установите его свежую версию, которую можно взять на сайте www.microsoft.com/windows/windowsmedia.

Q: Уважаемый Сергей! В одной из своих статей Вы упомянули о том, что отправляете "файл с ноутбука на сетевой CD-RW двумя щелчками мыши". Я давно пытаюсь добиться того же, но ни из-под CD Creator, ни из-под Nero, ни из-под WinCD удаленные CD-RW не видны! Может, это наивный вопрос, но объясните, пожалуйста, как у вас это получается?

A: Все правильно, из-под этих программ сетевой CD-RW и не должен быть виден. Надо сделать так, чтобы запись могла осуществляться непосредственно из Проводника Windows, а такое возможно только в случае использования пакетного режима записи на удаленном ПК, то есть заранее форматированных CD-RW, и утилит DirectCD, Nero InCD, PacketCD.



наверх