Создаем свой первый AutoRun

Сейчас очень часто на глаза попадаются компакт-диски с автозапуском, то есть компакт-диски с так называемым AutoRun`ом. И я хотел бы сделать такой диск сейчас вместе с Вами. Я попробую рассказать обо всех этапах создания такого диска, хотя и не ставлю перед собой цель создать безупречный AutoRun, который Вы могли бы взять за пример. Здесь все будет зависеть от Вашего творческого потенциала и широты Ваших мыслей. Для начала давайте сделаем форму примерно такого вида (я буду иcпользовать Delphi):

Я предлагаю создать запуск стандартных программ, которые поставляются вместе с Windows, для понимания того, что мы делаем. Это - Блокнот, Пасьянс, Калькулятор, Dialer, CD-Player и Проводник. Вы также можете сделать запуск и других программ.

Принцип работы программы такой: пользователь выбирает нужную ему программу, путем выбора соответсвующего переключателя. Затем при нажатии на кнопку "Запуск" происходит запуск выбраной программы.

Каждому переключателю нужно задать соответствующее имя. Это можно сделать как через Инспектор объектов, так и динамически, то есть во время исполнения программы. Например, переключатель Блокнот мы назовем rbNotePad; Пасьянс - rbSol; Калькулятор - rbCalc; Dialer - rbDialer; CD-Player - rbCDPlayer и Проводник - rbExplorer. Кнопку мы назовем btnStart.

В обработчик нажатия кнопки нам нужно вставить следующий код:

procedure TForm1.btnStartClick(Sender: TObject);
begin
 If rbNotePad.Checked Then WinExec(PChar('C:\Windows\NotePad.exe'), SW_SHOWNORMAL)
   Else
 If rbSol.Checked Then WinExec(PChar('C:\Windows\Sol.exe'), SW_SHOWNORMAL)
   Else
 If rbCalc.Checked Then WinExec(PChar('C:\Windows\Calc.exe'), SW_SHOWNORMAL)
   Else
 If rbDailer.Checked Then WinExec(PChar('C:\Windows\Dialer.exe'), SW_SHOWNORMAL)
   Else
 If rbCDPlayer.Checked Then WinExec(PChar('C:\Windows\CDPlayer.exe'), SW_SHOWNORMAL)
   Else
 If rbExplorer.Checked Then WinExec(PChar('C:\Windows\Explorer.exe'), SW_SHOWNORMAL);
end;

Здесь я явно указал пути к запуску программ. Если Вы действительно будите делать автозапуск для Вашего компакт-диска, то целесообразней будит указывать имена каталогов без указания имени диска. То есть не C:\Windows\NotePad.exe, а например MyProgs\Game\Game.exe, подразумевая что каталог MyProgs находиться в текущем каталоге компакт-диска.

На этом заканчивается первый этап создания компакт-диска. Теперь нашу программу можно компилировать. Как совет хочу Вам сказать, что проекту имя лучше дать сразу AutoRun, чтобы потом не пришлось программу переименовывать вручную в AutoRun.exe.

Вторым этапом является создание файла AutoRun.inf. Это обычный текстовый файл, который можно создать в любом текстовом редакторе. Этот файл выполняет "информационную функцию", он содержит информацию о запускаемой программе. Существует три основных вида создания данного файла:

Первый способ - это стандартный автозапуск:

[AutoRun]
Open=Autorun.exe
Icon=Autorun.ico

Второй способ - это автозапуск HTML-страницы. В этом случае необходимо создать HTML-страницу, на которой организовать ссылки (переходы) на каталоги с программами:

[AutoRun]
Open=Start Autorun.htm
Icon=Autorun.ico

Третий способ - это автозапуск с "извлечением" иконки из исполняемой программы:

[Autorun]
Open = Autorun.exe
Icon = Autorun.exe, 0

Мы в свою очередь воспользуемся первым стандартным способом. Ну и третьим этапом является запись самого компакт-диска. Для этого я бы посоветовал создать отдельную директорию, в которую надо скопировать все записываемые программы, нашу программу AutoRun.exe, файл AutoRun.inf и иконку AutoRun.ico. После этого нужно произвести запись компакт-диска. Я советую воспользоваться программой Nero Burning Rom, работу с которой я аналогичным образом описал здесь. Вот нам и удалось создать диск с автозапуском и я думаю, что здесь нет ничего сложного.

Вернуться в оглавление
Вернуться на главную страницу
Hosted by uCoz