Выбрать главу

В следующем примере показано, как с помощью inf-файла изменить содержимое ini-файла: 

[Version]

Signature=$Chicago$

[DefaultInstall]

UpdateInis=ExampleAddINIfiles

;Указываете папку, где находится файл system.ini — например в папке Example, которая расположена в каталоге C:\Program Files

30,PROGRA~1\Example

[DestinationDirs]

ExampleAddINIfiles=30,PROGRA~1\Example

;Определяете название файла и секции добавляемых, удаляемых или заменяемых строк

[ExampleAddINIfiles]

;Добавляете в секцию [boot] файла system.ini строку shell=Example.exe

system.ini, boot,, "shell=Example.exe"

;Удаляете из секции [boot] файла system.ini строку shell=Example.exe

system.ini, boot, "shell=Example.exe"

;Заменяете из секции [boot] файла system.ini строку shell=Example.exe на shell=Example8.exe

system.ini, boot, "shell=Example.exe", "shell=Example8.exe"

С помощью inf-файлов можно также создавать/удалять ярлыки в меню Пуск. Ярлык можно создать в уже созданной группе программ. Если таковой не существует, она будет создана автоматически.

Следующий пример создает группу программ Windows + + в меню Пуск > Программы и ярлыки к утилитам winipcfg.exe (Конфигурация IP), Regedit.exe (Редактор реестра) и Winfile.exe (Диспетчер файлов — только в Win98). Все они есть у вас на компьютере и лежат в папке Windows.

[Version]

Signature=$Chicago$

[DefaultInstall]

UpdateInis=ExampleShortcut

;Определяете название и размещение ярлыков

[ExampleShortcut]

setup.ini, progman.groups,, "group1=""Windows + +"""

setup.ini, group1,, """Конфигурация IP"",""""""%30%\WINDOWS\winipcfg.exe"""""",,,,""%30%\WINDOWS"",""winipcfg.exe"""

setup.ini, progman.groups,, "group1=""Windows + +"""

setup.ini, group1,, """Редактор реестра"",""""""%30%\WINDOWS\Regedit.exe"""""",,,,""%30%\WINDOWS"",""Regedit.exe"""

setup.ini, progman.groups,, "group1=""Windows + +"""

setup.ini, group1,, """Диспетчер файлов"",""""""%30%\WINDOWS\Winfile.exe"""""",,,,""%30%\WINDOWS"",""Winfile.exe"""

Ярлык прописывается в таком порядке:

1. Название группы программ. В нашем случае — Windows + +.

2. Имя ярлыка.

3. Путь к программе, к которой создается ярлык.

4. Рабочий каталог, обычно тот же, что и путь. Некоторые программы не работают, если это условие не выполняется.

5. Имя программы с расширением.

Параметр %30%\ определяет корневой диск. Если вы хотите создать ярлык к файлу, который находиться в каталоге Program Files, смело прописывайте полный путь (не используйте короткие имена), например %30%\Program Files\Setup Generator Pro\Sgpro.exe.

Для удаления ярлыка нужно убрать все записи, указанные после имени ярлыка. В следующем примере удаляется ярлык Конфигурация IP из программной группы Windows + +.

[ExampleShortcut]

setup.ini, progman.groups,, "group1=""Windows + +"""

setup.ini, group1,, """Конфигурация IP"""

Если вы удаляете один из ярлыков программной группы, то удаление не затронет другие ярлыки. Для полного удаления программной группы нужно прописать данное действие для каждого ярлыка.

К сожалению, вы не сможете с помощью inf-файла обычным способом скопировать файлы с длинными именами. Поддержка длинных файловых имен в .inf-файлах немного усложнена, но главное, что она существует. Для этого нужно проделать следующее: исходный файл должен быть с коротким именем, после установки его имя нужно сделать подлиннее. Для удаления процесс повторяется в обратном порядке: длинное файловое имя делается коротким и удаляется уже файл с 8.3-именем. Происходит все это с помощью реестра. Для этих действий в реестре предусмотрены специальные ключи:

Следующий ключ используется для переименования файлов:

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RenameFiles

Этот ключ используется для удаления файлов:

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\DeleteFiles

Для действий переименования или удаления нужно добавить подключ с любым именем в соответствующую ветвь реестра. Минимум два ключа должны быть определены. Первый ключ содержит имя каталога, где будет происходить переименование или удаление файлов. Следующий ключ содержит имена файлов: первое — короткое, второе — длинное и его атрибуты, если нужно:

1 — Только для чтения;

2 — Скрытый;

3 — Системный.

Следующий пример демонстрирует переименование в каталоге C:\Files файла About.txt в About View files.txt и установление ему атрибута «Скрытый», а также переименование того же файла в подкаталоге Xmp папки C:\Files с установлением ему атрибута «Только для чтения»:

[Version]

Signature=$Chicago$

[DefaultInstall]

AddReg=Rename

[Rename]

HKLM,Software\Microsoft\Windows\CurrentVersion\RenameFiles \Example,,,"%30%\Files"

HKLM,Software\Microsoft\Windows\CurrentVersion\RenameFiles  \Example,About.txt,,"About View files.txt,2"

HKLM,Software\Microsoft\Windows\CurrentVersion\RenameFiles \SubDir,,,"%30%\Files\Xmp"

HKLM,Software\Microsoft\Windows\CurrentVersion\RenameFiles \SubDir,About.txt,,"About View files.txt,1"

Ключи для удаления файлов имеют такую же структуру. Рассмотрим пример, который в каталоге C:\Files удаляет файл About View files.txt и такой же файл удаляет в подкаталоге Xmp папки C:\Files: 

[Version]

Signature=$Chicago$

[DefaultUninstall]

AddReg=Delete

[Delete]

HKLM,Software\Microsoft\Windows\CurrentVersion\DeleteFiles

\Example,,,"%30%\Files"

HKLM,Software\Microsoft\Windows\CurrentVersion\DeleteFiles \Example,About.txt,,"About View files.txt"

HKLM,Software\Microsoft\Windows\CurrentVersion\DeleteFiles \SubDir,,,"%30%\Files\Xmp"

HKLM,Software\Microsoft\Windows\CurrentVersion\DeleteFiles \SubDir,About.txt,,"About View files.txt"

Параметры Example и SubDir могут быть любыми, например названием вашей программы, подкаталога и т.д. Важно, чтобы они были разными, т.к. переименование/удаление происходит в разных каталогах.

Данная статья не претендует на полноту, но надеюсь, поможет читателю освоить inf-файлы хотя бы поверхностно. Не бойтесь экспериментировать, но будьте предельно осторожны, особенно с процессами удаления.

HTML-приложения

Начиная с Internet Explorer 5.0 появилась возможность создавать HTML-приложения с любым пользовательским интерфейсом при помощи JavaScript или VBScript. Причем, созданное html-приложение будет запускаться вне браузера и ничем не будет отличаться от стандартных Windows-приложений.

Созданное приложение будет присутствовать на панели задач, иметь свое собственное окно, меню и значок. Плюс ко всему отпадает необходимость подтверждать использование ActiveX-компонентов (система защиты Internet Explorer предусматривает появление предупреждающих сообщений при попытке использования ActiveX в HTML-документах). Вы имеете полный контроль над системой, включая чтение/запись файлов, данных в реестре, управление процессами. Для создания такого приложения достаточно обычного Блокнота (или другой текстовый редактор).

Данные html-приложения должны иметь расширение *.hta. Простейший случай будет выглядеть так: