Чтение онлайн

на главную - закладки

Жанры

Программы и файлы Windows

Чеботарев Игорь Григорьевич

Шрифт:

С помощью этого файла в реестр добавляется следующая информация:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion

"RegDone"="1"

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Welcome\RegWiz

"@"="1"

Обратите внимание на запятые в inf-файле. Если нужно добавить в реестр параметр по умолчанию, запятые должны быть проставлены иначе. Например, в рассмотренном нами ключе реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion сделаем параметр по умолчанию равным единице (1):

HKLM, "SOFTWARE\Microsoft\Windows\CurrentVersion",,,"1"

Ниже представлены корневые имена реестра, применяемые в inf-файлах.

HKCR — HKEY_CLASSES_ROOT;

HKCU — HKEY_CURRENT_USER;

HKLM — HKEY_LOCAL_MACHINE;

HKU — HKEY_USERS;

HKR — относительный ключ, используется классом installer; обычно применяется для дисков устройства.

В параметре DelReg указываются секции, которые содержат информацию об удалении подключей с параметрами и значениями из реестра. Следующий пример демонстрирует удаление подключа Graphviz со всеми параметрами и значениями этого раздела реестра — HKEY_CURRENT_USER\Software\AT&T\Graphviz:

[Version]

Signature=$Chicago$

[DefaultInstall]

DelReg=ExampleDelRegistry

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

[ExampleDelRegistry]

HKLM, "HKEY_CURRENT_USER\Software\AT&T\Graphviz"

Корневые имена реестра, естественно, обозначаются так же, как и при добавлении информации в реестр.

В процессе установки можно прервать выполнение .inf-файла для показа пользователю какого-нибудь документа (после закрытия которого установка продолжится) или запустить определенный процесс. Следующий пример отображает файл справки About.hlp и текстовый файл About.txt, после чего запускает другой inf-файл — Example.inf:

[Version]

Signature=$Chicago$

[DefaultInstall]

AddReg=ExampleView

;Отображение файла справки About.hlp

[ExampleView]

HKLM,Software\Microsoft\Windows\CurrentVersion\RunOnce\Setup,%ABOUT%,,"WINHLP32.EXE — Main %1%\About.hlp"

;Отображение текстового файла About.txt

HKLM,Software\Microsoft\Windows\CurrentVersion\RunOnce\Setup,%ABOUT%,,"notepad %1%\About.txt"

;Запуск файла сценария Example.inf

HKLM,Software\Microsoft\Windows\CurrentVersion\RunOnce\Setup,%ABOUT%,,"rundll setupx.dll,InstallHinfSection DefaultInstall 132 %1%\Example.inf"

;Определяете название, которое будет отображаться в окне "Установка Windows 98"

[Strings]

ABOUT="О программе..."

После того как определенные в секции [ExampleView] команды выполнятся, записи, добавленные в реестр, будут автоматически удалены из него. Таким образом можно запускать и другие процессы, например апплеты Панели управления:

;Запуск апплета Панели управления Свойства: Система (SYSDM.CPL)

HKLM,Software\Microsoft\Windows\CurrentVersion\RunOnce\Setup,%ABOUT%,,"rundll32

В следующем примере показано, как с помощью 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"""

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

Поделиться:
Популярные книги

Газлайтер. Том 40

Володин Григорий Григорьевич
40. История Телепата
Фантастика:
альтернативная история
аниме
попаданцы
5.00
рейтинг книги
Газлайтер. Том 40

Портрет дьявола: Собрание мистических рассказов

Скотт Вальтер
Проза:
классическая проза
8.09
рейтинг книги
Портрет дьявола: Собрание мистических рассказов

С Том 3

Вязовский Алексей
3. Сапер
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
С Том 3

Геном хищника. Книга седьмая

Гарцевич Евгений Александрович
7. Я - Легенда!
Фантастика:
боевая фантастика
рпг
фэнтези
попаданцы
5.00
рейтинг книги
Геном хищника. Книга седьмая

Неучтенный элемент. Том 2

NikL
2. Антимаг. Вне системы
Фантастика:
городское фэнтези
фэнтези
5.00
рейтинг книги
Неучтенный элемент. Том 2

Менталист. Революция

Еслер Андрей
3. Выиграть у времени
Фантастика:
боевая фантастика
5.48
рейтинг книги
Менталист. Революция

Травница Его Драконейшества

Рель Кейлет
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Травница Его Драконейшества

Ну привет, заучка...

Зайцева Мария
Любовные романы:
эро литература
короткие любовные романы
8.30
рейтинг книги
Ну привет, заучка...

Наследник

Шимохин Дмитрий
1. Старицкий
Приключения:
исторические приключения
5.00
рейтинг книги
Наследник

Локки 9. Потомок бога

Решетов Евгений Валерьевич
9. Локки
Фантастика:
фэнтези
попаданцы
героическая фантастика
боевая фантастика
5.00
рейтинг книги
Локки 9. Потомок бога

Контртеррор

Валериев Игорь
6. Ермак
Фантастика:
альтернативная история
5.00
рейтинг книги
Контртеррор

Борьба за трон

Эйнсворт Уильям Гаррисон
Приключения:
исторические приключения
5.00
рейтинг книги
Борьба за трон

Законы Рода. Том 5

Мельник Андрей
5. Граф Берестьев
Фантастика:
юмористическое фэнтези
аниме
5.00
рейтинг книги
Законы Рода. Том 5

Ефрейтор. Назад в СССР. Книга 2

Гаусс Максим
2. Второй шанс
Фантастика:
попаданцы
альтернативная история
7.00
рейтинг книги
Ефрейтор. Назад в СССР. Книга 2