Delphi - объектно-ориентированный язык программирования, разработанный компанией Borland в 1995 году. Он основан на языке программирования Pascal, но имеет более расширенные возможности и добавлены новые функции.
Delphi является интегрированной средой разработки (IDE), которая позволяет разрабатывать программное обеспечение для различных платформ, включая Windows, macOS, Android и iOS. Delphi достигает многоплатформенности с помощью...
В статье Виталия ДРЕБНИЦЫ «Artix'тический диск» (МК №51 (222)) уже рассматривалась тема создания аutorun'ов к компакт-дискам с помощью специальных программ. Но даже сам автор статьи признавался, что творения сии получаются кривыми и большими по размеру. Пользователя это, может быть и устраивает, но только не программиста. Имея хоть какие-нибудь навыки программирования, можно написать autorun, значительно превосходящий по всем качествам то, что создается вышеупомянутыми «генерилками». В этой статье пойдет речь о том, как это сделать в Delphi.
Для начала определимся с типом autorun'а. Это может быть простое приветствие, имеющее возможность перехода к просмотру содержимого диска; или же программа, предоставляющая пользователю интерфейс для установки программ с диска или просмотра документации; а может, и презентационная программка (CD-визитка), выводящая различную информацию рекламного характера (видео, текст, звук и прочее). Но в любом случае это должно быть устойчивое, нормально работающее на различных компьютерах приложение, имеющее относительно небольшой размер. На практике норма — не более 0.5-1 Мб, т.к. загрузка будет идти с довольно медленного устройства (даже если привод 52-х скоростной, это еще не значит, что он прочтет данные с диска на полной скорости), а пользователь, как известно, долго ждать не любит. Поэтому уместным будет применение какой-нибудь программы сжатия EXE — например, UPX
(http://www.upx.sourceforge.net), см. также статью «Вездесущий EXE» (МК №52 (223)).
Autorun простой
Это, как уже говорилось, простенькая заставочка (приветствие), появляющаяся при автоопределении диска. В ней можно разместить краткую информацию о содержимом диска, информацию о том, чей это диск (с напоминанием вроде «не забудьте мне его вернуть!» — очень хорошо, кстати, действует на забывчивых знакомых) и кнопку Browse CD — для открытия окошка с содержимым диска. В оформлении не обязательно использовать звук, видео. Неплохо смотрятся и статичные картинки в сочетании с различными эффектами появления окна программы (для этого используются компоненты — например, см. раздел VCLForms на сайте http://www.torry.ru). Вышеупомянутая кнопка реализуется так: добавьте к списку подключаемых модулей ShellApi, затем в обработчике события нажатия кнопки поместите текст:
Текст в переменной op определяет операцию, производимую командой ShellExecute с папкой, определенной в переменной dir. В данном случае откроется обычное окошко с содержимым корневого каталога диска (getCurrentDir подразумевает, что и программа Autorun запускается оттуда же). Если поменять open на explore, то откроется Проводник. Чтобы открыть какую-нибудь поддиректорию, добавьте ее к полученной текущей директории (в переменной s), например: s:=s+'video'. Еще можно, указав полный путь (в переменной op) и имя файла, запустить другое приложение или открыть документ (в связанной с его расширением программе). Слегка украсит интерфейс и простенькая анимация стандартными процедурами рисования (не забудьте включить режим DoubleBuffered формы — чтобы устранить мерцание).
Навигатор
Такие Autorun'ы имеются на всех существующих в продаже компактах. Особенно эффектно выглядят те, что на игровых дисках. Если программ немного, то можно вполне ограничиться и просто кнопками, запускающими указанным способом их установки. В противном же случае обычно используются html-странички, загружаемые в специально отведенное место в оформлении Autorun'а (который в данном случае выступает в роли мини-браузера). В них можно поместить гиперссылки на установочные файлы программ с каким-либо описанием. Есть два варианта программной реализации этого: использование стандартного Делфи-компонента TWebBrowser (вкладка Internet
) или же компонентов стороннего производителя. Первое делать не рекомендую — TWebBrowser использует движок Internet Explorer, поэтому долго грузится. Также возможен конфликт версий — на компьютере с IE 3-й версии программа с этим компонентом работать не будет. В Сети есть много «альтернативных» компонентов, лично мне очень понравился набор HTML Components
(автор David Baldwin), размещенный по адресу http://www.pbear.com (7-я демо-версия — 2.1 Мб). Они построены на собственном интерпретаторе HTML (спецификации 3.2), обеспечивающим быструю загрузку страницы, правда, с некоторыми ограничениями (нет Java, DHTML, объектов и других продвинутых технологий). Но простые странички отображаются очень хорошо (есть поддержка фрэймов, CSS, графики BMP, GIF со всеми наворотами, JPG, таблиц, форм и пр.) Кроме того, внимания заслуживает и очень магкий скроллинг странички (можно сделать даже титры ). Такой подход при минимуме усилий позволяет значительно сэкономить время.
Визитка
Здесь стоит особо позаботиться о хорошем оформлении. Эффектно выглядят непрямоугольные окна (см компоненты того же раздела VCLForms на torry.ru). Также можно реализовать что-нибудь красивое и динамичное с помощью OpenGL. Чтобы выводить такую графику не на весь экран, а в определенную часть формы, удобно использовать стандартный компонент Делфи Tframes (вкладка Standart
) — получается как бы окно в окне. Еще есть возможность внедрения Flash-роликов в Делфи-проект (читайте статью по адресу http://programmist.info/pp/delphi/dflash.html).
После завершения работы на программой остается сделать еще кое-что. А именно: сжать программу UPX'ом; сделать иконку для Autorun'а (в Image Editor из пакета Делфи) и написать очень важный файл autorun.inf. Последний должен располагаться в корневом каталоге диска и содержать строки:
В них указывается путь (OPEN) к программе, запускающейся при автоопределении диска, и путь (ICON) к иконке, которая будет отображаться вместо значка CD-ROM'а или HDD. И теперь все. Можете протестировать Autorun на винте — поместите вышеуказанные файлы в его корневой каталог, перезагрузите систему и попытайтесь, например, в Проводнике (или через Мой компьютер) открыть раздел диска с Autorun'ом.
Руслан РИЗВАНОВ rizvanov_ruslan@mail.ru