如何注册 DLL 控制面板项

注意

当前的实现指南指出,新的控制面板项应作为.exe文件而不是.cpl文件实现。 以下信息主要用于旧版用途。

 

控制面板在导出 CPlApplet 函数的 DLL 中实现的项的注册要求与.exe文件不同。 从 Windows XP 开始,应在“程序文件”文件夹下的关联应用程序的文件夹中安装新的控制面板项 DLL。 存储在具有 .cpl 扩展名的 System32 目录中的项不需要注册;它们会自动显示在控制面板中。 使用 CPlApplet 的所有其他控制面板项都必须通过以下两种方式之一进行注册:

  • 如果控制面板项可供所有用户使用,请通过向设置为 DLL 路径的 HKEY_LOCAL_MACHINESoftware\Microsoft\Windows\CurrentVersion\控制面板\Cpls 子项添加REG_EXPAND_SZ\值,按计算机注册路径。
  • 如果要按用户提供控制面板项,请使用 HKEY_CURRENT_USER 作为根键,而不是HKEY_LOCAL_MACHINE

以下两个示例注册 MyCplApp 控制面板项。 DLL 名为 MyCpl.cpl,位于 MyCorp\MyApp 应用程序目录中。 第一个示例演示每台计算机注册。

Instructions

步骤 1:

将此信息添加到注册表以注册.cpl文件是否存在。

HKEY_LOCAL_MACHINE
   Software
      Microsoft
         Windows
            CurrentVersion
               Control Panel
                  Cpls
                     MyCpl = [REG_EXPAND_SZ] %ProgramFiles%\MyCorp\MyApp\MyCpl.cpl

步骤 2:

Windows Vista 及更高版本:将此附加信息添加到注册表中,为控制面板项提供 GUID。

HKEY_LOCAL_MACHINE
   Software
      Microsoft
         Windows
            CurrentVersion
               Control Panel
                  Extended Properties
                     System.Software.AppId
                        %ProgramFiles%\MyCorp\MyApp\MyCpl.cpl = {A newly generated GUID}

通过生成 GUID 以唯一标识控制面板项,可以将任务链接添加到控制面板。 如果没有此 GUID,则无法将任务链接与控制面板项相关联。 请参阅创建控制面板项的可搜索任务链接

步骤 3:

Windows Vista 及更高版本: 将以下信息添加到注册表,为项创建规范名称。

HKEY_LOCAL_MACHINE
   Software
      Microsoft
         Windows
            CurrentVersion
               Control Panel
                  Extended Properties
                     System.ApplicationName
                        %ProgramFiles%\MyCorp\MyApp\MyCpl.cpl = [REG_SZ] MyCorporation.MyCpl

通过添加规范名称,用户可以通过输入 control.exe /name MyCorporation.MyCpl从命令行启动控制面板项。 这也使得以后可以将实现从.cpl文件更改为.exe文件,而无需调用程序进行任何更改,因为它们可以通过其规范名称继续打开项。 有关规范名称的详细信息,请参阅执行控制面板项

步骤 4:

Windows Vista 及更高版本:将以下信息添加到注册表,以将控制面板项分配给一个或多个类别。

HKEY_LOCAL_MACHINE
   Software
      Microsoft
         Windows
            CurrentVersion
               Control Panel
                  Extended Properties
                     System.ControlPanel.Category
                        %ProgramFiles%\MyCorp\MyApp\MyCpl.cpl = [REG_DWORD] 3

Windowsxp:将以下信息添加到注册表,以将控制面板项分配给一个或多个类别。

HKEY_LOCAL_MACHINE
   Software
      Microsoft
         Windows
            CurrentVersion
               Control Panel
                  Extended Properties
                     {305CA226-D286-468e-B848-2B2E8E697B74} 2
                        %ProgramFiles%\MyCorp\MyApp\MyCpl.cpl = [REG_DWORD] 3

此示例将项分配给类别 3,即网络和 Internet。 若要向多个类别添加项,请将列表作为REG_SZ值提供,用逗号分隔,例如“3,8”。 值可以十进制或十六进制形式提供。 请注意,只有在 Windows XP Service Pack 2 (SP2) 及更高版本中才能将项添加到多个类别。 有关所有可能的值,请参阅分配控制面板类别

步骤 5:

Windows Vista 及更高版本: 将以下信息添加到注册表以创建并指向 XML 文件,以保存项的任务链接。 该值必须是此处所示的REG_SZ路径,或者模块和资源 ID (例如“C:\Program Files\MyCorp\MyApp\MyApp.exe,-31”) (如果它是嵌入资源)。 应完全指定 XML 文件的位置。 它不能使用环境变量,例如 %ProgramFiles%。

HKEY_LOCAL_MACHINE
   Software
      Microsoft
         Windows
            CurrentVersion
               Control Panel
                  Extended Properties
                     System.Software.TasksFileUrl
                        %ProgramFiles%\MyCorp\MyApp\MyCpl.cpl = [REG_SZ] C:\ProgramFiles\MyCorp\MyApp\MyTasks.xml

有关任务链接以及如何创建 XML 文件来保存这些链接的更多详细信息,请参阅为控制面板项创建可搜索的任务链接

注册控制面板项

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