如何注册可执行文件控制面板项

对于作为.exe文件实现的控制面板项,不需要特殊导出或消息处理。 任何.exe文件都可以注册为命令对象,以便与控制面板文件夹中的入口点一起显示。

此处使用一个示例来演示注册要求。 该示例演示如何将名为“我的设置”的控制面板项注册为命令对象,使其显示在控制面板窗口中。 运行命令MyApp.exe /settings时,也会显示“我的设置”窗口。

Instructions

步骤 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

Default 条目的数据只是控制面板项的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。 控制面板项的本地化名称的模块名称和字符串表 ID。 格式是“at”号 (@) 后跟包含多语言用户界面 (MUI) 字符串表.exe或.dll的名称。 环境变量可以用作路径的一部分的替代。 路径和文件名后跟逗号 (,) 和连字符 () ,后跟字符串表中的 ID。

    如果模块没有字符串表,则此项可以只是显示名称字符串。 如果仅使用显示名称字符串而不是字符串表,则名称不会调整为当前显示语言。

  • 信息提示。 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 文件的路径。 这可以是示例所示的直接文件路径,也可以是指定为模块名称和资源 ID 的嵌入资源,例如“%ProgramFiles%\MyCorp\MyApp\MyApp.exe,-31”。

步骤 4:

在同一 GUID 子项下,将以下子项添加到注册表,以提供包含该文件中图像的图标和资源 ID 的文件的路径。

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

注册控制面板项

如何注册 DLL 控制面板项