Реестр Windows :: Создание автоматически стартующего диска


|Перенести в Описание|

Создание автоматически стартующего диска
Алексеев Виктор
Для создания автоматически запускающегося диска существует много специализированных программ. А как сделать автозапуск с помощью подручных средств? Начиная с Windows 98, в состав ОС входит сервер WSH (Windows Script Host), который обеспечивает выполнение так называемых скриптов. Скрипт - это программа написанная на специализированном скриптовом языке и сохраненная в текстовым файле с расширением -vbs или -js. Эти скрипты могут делать много, и кстати хорошо описаны в книге Джесси Тореса "Скрипты для администратора Windows" (также этой теме посвящен целый раздел на сайте). Нам же потребуется только малая толика из всех опций.
Вот сам скрипт написанный на языке vbs:
set Shell = WScript.CreateObject("Shell.Application")
Set fso = WScript.CreateObject("Scripting.FileSystemObject")
For each i In fso.Drives
If i.DriveType=4 Then 'Отлавливаем только CD-ROM
If i.IsReady Then 'Проверяем наличие диска в приводе
drive=i.DriveLetter+":\"
Patch=drive+"index.htm"
If fso.FileExists(Patch) Then 'Существует ли там нужный нам файл?
Shell.OPEN Patch
End If
End If
End If
Next
Подробно описывать принцип работы скрипта не буду. Все интересующиеся данной темой найдут исчерпывающую информацию по работе с объектами файловой системы (дисками, каталогами, файлами) в отдельной статье.
Коротко, зачем все это делается. Если на компьютере установлены два привода CD-ROM, то надо проверять наличие в приводе диска (5 строка) и наличие на этом диске запускаемого нами файла (8 строка). Если этого не делать, то при попытке запустить файл с привода без установленного диска, будет выдан системный диалог с просьбой установить в CD-ROM компакт-диск. Если диск существует, но на нем нет файла index.htm, то скрипт выдаст ошибку. Еще стоит учесть тот момент, что если в обоих приводах есть диски с файлом Index.htm, то они будут запущены с обоих дисков. Поэтому, желательно давать запускаемым файлам уникальные имена.
Почему WSH? Приведенный пример - лишь крохатная часть возможностей скрипта. Например, перед запуском вы можете проверить наличие или значение какого-то параметра в реестре, наличие какого-то файла на диске, выполнить какие-то действия и т.п. Все богатство возможностей Windows Script Host в вашем распоряжении.
Этот скрипт сохраним в файле whatis_ru.vbs. Скрипты не критичны как написаны: в верхнем или нижнем регистрах.
DriveType имеет следующие значения:
0 - Тип не может быть определен
1 - Сменный носитель или дисковод для гибких дисков
2 - Обычный HDD
3 - Сетевой диск
4 - CD-ROM
5 - Виртуальный RAM-диск
Нам нужен привод с типом = 4 и заранее нам неизвестно сколько приводов будет стоять на компьютере. Также неизвестно заранее, куда поставят загрузочный диск. Поэтому в цикле просматриваем драйвы по условию Type = 4 и находим где установлен наш диск. Если таковой имеется - сработает OPEN.Patch и запустится то что там прописано. В данном случае поместим туда страничку в формате htm - index.htm. На этой страничке разместим наше меню. Далее создадим файл Autorun.inf. В нем напишем:
[Autorun]
OPEN=Wscript.exe whatis_ru.vbs
Теперь осталось собрать все вместе и записать на CD. Все это будет работать по следующей цепочке: авторан запустит скрипт, который в свою очередь запустит HTM - файл. А в файле HTM Вы можете использовать все возможности языка HTML+скрипты - единственное ограничение ваша фантазия.
10.10.06

читать еще в разделе