Регистрация исполняемых элементов панель управления
Для панель управления элементов, реализованных как .exe файлы, специальные операции экспорта или обработки сообщений не требуются. Любой .exe файл можно зарегистрировать как объект команды, чтобы он отображал точку входа в папке панель управления.
Для демонстрации требований к регистрации используется пример. В примере показано, как зарегистрировать элемент панель управления с именем Мои параметры в качестве объекта команды, чтобы он отображался в окне панель управления. Окно Мои параметры также отображается при выполнении команды MyApp.exe /settings
.
Инструкции
Шаг 1.
Создайте GUID для элемента панель управления. Guid уникально идентифицирует элемент панель управления. В этом примере {0052D9FC-6764-4D29-A66F-2F3BD9E2BB40}
— это GUID элемента панель управления.
Шаг 2.
Используя GUID в качестве имени, добавьте подраздел в реестр следующим образом.
HKEY_LOCAL_MACHINE
SOFTWARE
Microsoft
Windows
CurrentVersion
Explorer
ControlPanel
NameSpace
{0052D9FC-6764-4D29-A66F-2F3BD9E2BB40}
(Default) = My Settings
Данные для записи По умолчанию — это просто REG_SZ имя элемента панель управления. Запись по умолчанию может быть полезной для идентификации записи GUID, но она является необязательной.
Шаг 3.
Используя GUID в качестве имени, добавьте подраздел и его записи в реестр следующим образом.
HKEY_CLASSES_ROOT
CLSID
{0052D9FC-6764-4D29-A66F-2F3BD9E2BB40}
(Default) = My Settings
LocalizedString = @%ProgramFiles%\MyCorp\MyApp.exe,-9
InfoTip = @%ProgramFiles%\MyCorp\MyApp.exe,-5
System.ApplicationName = MyCorporation.MySettings
System.ControlPanel.Category = 1,8
System.Software.TasksFileUrl = %ProgramFiles%\MyCorp\MyApp\MyTaskLinks.xml
Default. REG_SZ. Отображаемое имя элемента панель управления.
LocalizedString. Необязательный элемент. REG_SZ или REG_EXPAND_SZ. Имя модуля и идентификатор таблицы строк локализованного имени элемента панель управления. Формат представляет собой знак "at" (@), за которым следует имя .exe или .dll, содержащей таблицу строк многоязыкового пользовательского интерфейса (MUI). Переменные среды можно использовать в качестве замены части пути. За путем и именем файла следуют запятая (,) и дефис (-), за которым следует идентификатор в строковой таблице.
Если в модуле нет строковой таблицы, эта запись может быть просто строкой отображаемого имени. Если вы используете только строку отображаемого имени, а не строковую таблицу, имя не изменяется в соответствии с текущим языком интерфейса.
Подсказка. REG_SZ или REG_EXPAND_SZ. Описание элемента панель управления. Эти сведения отображаются в подсказке, которая отображается при наведении указателя мыши на значок элемента. Синтаксис такой же, как и для LocalizedString, включая возможность просто предоставить строку, а не ссылку на таблицу строк.
System.ApplicationName. REG_SZ. Каноническое имя элемента. Команда формы
control.exe /name System.ApplicationName
открывает элемент, напримерcontrol.exe /name MyCorporation.MySettings
. Дополнительные сведения об использовании Control.exe см. в разделе Выполнение элементов панель управления.System.ControlPanel.Category. REG_SZ. Значение типа , объявляющее панель управления категорий, в которых отображается элемент. Несколько категорий разделяются запятыми. В приведенном выше примере запись указывает, что элемент Мои параметры должен отображаться в категорияхВнешний вид и Персонализация и Программы . Возможные значения категорий см. в разделе Назначение категорий панель управления.
System.Software.TasksFileUrl. REG_SZ или REG_EXPAND_SZ. Путь к XML-файлу, определяющему связи задач. Это может быть прямой путь к файлу, как показано в примере, или внедренный ресурс, указанный в качестве имени модуля и идентификатора ресурса, например "%ProgramFiles%\MyCorp\MyApp\MyApp.exe,-31".
Шаг 4.
В том же подразделе GUID добавьте следующий подраздел в реестр, чтобы указать путь к файлу, который содержит значок и идентификатор ресурса образа в этом файле.
HKEY_CLASSES_ROOT
CLSID
{0052D9FC-6764-4D29-A66F-2F3BD9E2BB40}
DefaultIcon
(Default) = %ProgramFiles%\MyCorp\MyApp.exe,-2
Обратите внимание, что, хотя синтаксис в противном случае аналогичен рассмотренным выше записям LocalizedString и InfoTip, символ @не используется в качестве префикса в записи REG_SZ или REG_EXPAND_SZ, указывающей путь.
Шаг 5.
Добавьте в реестр следующие сведения, чтобы предоставить команду, вызываемую системой при открытии пользователем панель управления.
HKEY_CLASSES_ROOT
CLSID
{0052D9FC-6764-4D29-A66F-2F3BD9E2BB40}
Shell
Open
Command
(Default) = [REG_EXPAND_SZ] %ProgramFiles%\MyCorp\MyApp.exe /Settings
Связанные темы