на главную | войти | регистрация | DMCA | контакты | справка | donate |      

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
А Б В Г Д Е Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Э Ю Я


моя полка | жанры | рекомендуем | рейтинг книг | рейтинг авторов | впечатления | новое | форум | сборники | читалки | авторам | добавить




Листинг 15.13. Создание разделов в диалоге компонентов

[version]

signature="$Chicago$"


[Optional Components]

TopMain

Interface

Settings

HTMcomputer

Versus


[TopMain]

OptionDesc = Мои настройки

Tip = Варианты настройки интерфейса и конфигурации

IconIndex = 0


[Interface]

OptionDesc = Интерфейс Windows

Tip = Варианты настройки интерфейса

IconIndex = 4

Parent = TopMain


[Settings]

OptionDesc = Конфигурация Windows

Tip = Варианты настройки конфигурации компьютера

IconIndex = 16

Parent = TopMain


[HTMcomputer]

OptionDesc = Скрыть название моего компьютера

Tip = Скрывает название значка Мой компьютер

IconIndex = 0

Parent = Interface

AddReg = AddHTM

Uninstall = HTMUn

Modes = 0,1,2,3


[Versus]

OptionDesc = Отобразить версию на Рабочем столе

Tip = отображает версию операционной системы на Рабочем столе пользователя

IconIndex =4

Parent = Interface

AddReg =AddVersion

Uninstall =VersUn

Modes = 0,1,2,3


[AddHTM]

HKCR, "CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\ShellFolder", WantsFORDISPLAY, 0x00010001, 1


[AddVersion]

HKCU, "Control Panel\Desktop", PaintDesktopVersion, 0x00010001, 1


[HTMUn]

DelReg = HTMDel


[VersUn] AddReg = VersDel


[HTMDel]

HKCR, "CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\ShellFolder", WantsFORDISPLAY


[VersDel]

HKCU, "Control Panel\Desktop", PaintDesktopVersion, 0x00010001, 0

Формат INF-файла для создания компонентов в диалоге установки Windows немного отличается от обычного формата INF-файлов. Во-первых, основной блок INF-файла обязательно должен называться [Optional Components], иначе INF-файл работать не будет. Блок включает в себя список других блоков данного INF-файла. Каждый из описанных в [Optional Components] блоков определяет один раздел в диалоге установки компонентов Windows.

Блок описания раздела установки компонента содержит следующие ключевые слова.

 OptionDesc — определяет название раздела, отображаемого в диалоге Установка компонентов Windows.

 Tip — указывает подсказку для раздела, отображаемого в нижней части диалога Установка компонентов Windows.

 Icon Index — определяет индекс значка, отображаемого напротив данного раздела в диалоге Установка компонентов Windows. Например, идентификатор 0 определяет значок компьютера, идентификатор 2 — монитора, 14 — принтера.

 Parent — указывает название блока INF-файла, описывающего раздел, который будет родителем для нашего раздела в диалоге установки компонентов Windows. Если данное ключевое слово отсутствует, то наш раздел будет отображаться непосредственно в диалоге установки конфигурации Windows.

 Uninstall — определяет блок INF-файла, вызываемый для данного компонента при установке созданного раздела (устанавливать можно только разделы, входящие непосредственно в список диалога установки компонентов (корневые), а не отдельно разделы, вложенные в корневой), если флажок напротив данного компонента будет снят.

В блоке установки компонента можно также пользоваться такими стандартными ключевыми словами, как AddReg, BitReg, DelReg, CopyFiles и т.д. Все блоки, описанные в этих ключевых словах, будут выполняться при установке флажка напротив соответствующего компонента.

Теперь добавим ссылку на наш компонент в файл sysoc.inf. Для того чтобы так сделать, необходимо в блок [Components] добавить строку следующего вида: hello=ocgen.dll, OcEntry, prim2.inf, , 7. Здесь test2 определяет идентификатор присоединяемого INF-файла, a prim.inf является названием самого присоединяемого файла. Стоит еще сказать, что созданный INF-файл должен находиться в каталоге %systemroot%\inf.

ПРИМЕЧАНИЕ

В строке также указывается название библиотеки и функция из этой библиотеки, которая будет устанавливать наши компоненты. Как правило, нет никакой разницы между различными функциями различных библиотек. Главное, чтобы они умели работать с диалогом установки компонентов. Поэтому была выбрана первая попавшаяся в файле sysoc.inf библиотека и функция для нее. 

На рис. 15.3 показан результат добавления компонентов. 

Недокументированные и малоизвестные возможности Windows XP

Рис. 15.3. Создание разделов диалога


Диалог установки компонентов Windows | Недокументированные и малоизвестные возможности Windows XP | INF- файл для логического диска