使用客户端类型注册程序

本主题介绍如何在 Windows 注册表中将程序注册为以下客户端类型之一:浏览器、电子邮件、媒体播放、即时消息传递或适用于 Java 的虚拟机。

注意

此信息适用于以下操作系统:

  • Windows 2000 Service Pack 3 (SP3)
  • Windows 2000 Service Pack 4 (SP4)
  • Windows XP Service Pack 1 (SP1)
  • Windows XP Service Pack 2 (SP2)
  • Windows XP Service Pack 3 (SP3)
  • Windows Server 2003
  • Windows Vista
  • Windows Vista Service Pack 1 (SP1)
  • Windows 8

 

本主题包含以下各节。

本主题扩展了有关将程序注册为特定客户端类型的现有文档。 有关该文档的链接,请参阅“相关主题”部分。

所有客户端类型的通用注册元素

将程序注册为客户端类型时,无论客户端类型如何,大多数注册表项都是相同的。 但是,某些注册表项特定于客户端类型,特定客户端类型的注册元素部分中对这些项进行了说明。

本部分讨论了以下主题:

注意

本主题中以斜体形式给出的子项名称是用户定义的子项名称或一组可能的值的占位符。 完整示例注册部分中提供了带有示例名称的完整示例。

 

所有客户端类型注册信息都存储在以下子项下:

HKEY_LOCAL_MACHINE
   Software
      Clients
         ClientTypeName

ClientTypeName 是以下子项名称之一

  • StartMenuInternet(用于浏览器)
  • Mail(用于电子邮件)
  • Media(用于媒体播放)
  • IM(用于即时消息)
  • JavaVM(用于适用于 Java 的虚拟机)

在本主题中,可以看到对 Litware Inc. 名为“Lit View”的虚构计算机程序的引用,以及名为 Litview.exe 的可执行文件。 出于说明目的,此虚构程序可与即时通信程序、浏览器或其他类型的客户端程序互换使用。

选择规范名称

供应商必须为程序选择一个规范名称。 规范名称永远不会向用户显示,因此无需本地化。 它的唯一用途是提供一个可用于标识程序的唯一字符串。 它通常与程序的英文名称相同,但这只是一种约定。

对于浏览器以外的客户端类型,规范名称可以是任何字符串。 选择一个其他供应商不太可能使用的唯一名称。

对于浏览器客户端,规范名称必须是关联可执行文件的名称(包括扩展名);例如“Litview.exe”。

以下是一些规范名称的示例。

  • Iexplore.exe(浏览器)
  • Windows Mail(电子邮件)
  • Windows Media Player(媒体)
  • Windows Messenger(即时消息传递)

通过创建子项来注册规范名称,如下所示。 子项的名称是规范名称。 与注册该程序相关的所有信息都存在于此子项下。

HKEY_LOCAL_MACHINE
   Software
      Clients
         ClientTypeName
            CanonicalName

注册程序的显示名称

注册的下一步是指定程序的显示名称。 它作为规范名称项下的值给出,如下所示。 再次注意,CanonicalName 和 ClientTypeName 不是项的实际名称,而只是真实名称的占位符,例如 Lit View

注意

从 Windows 8 开始,用于注册设置程序访问和计算机默认值 (SPAD)默认程序的名称应匹配,以便 SPAD 更改触发默认程序注册。

 

HKEY_LOCAL_MACHINE
   Software
      Clients
         ClientTypeName
            CanonicalName
               LocalizedString = @FilePath,-StringID

LocalizedString 值是一个 REG_SZ 字符串,由“at”符号 (@)、.dll 或 .exe 文件的完整路径、逗号、减号和十进制整数组成。 十进制整数是字符串资源的 ID(包含在 .dll 或 .exe 文件中),其值作为此客户端的名称显示给用户。 请注意,即使文件路径包含空格,也不需要引号。

通过以这种方式注册显示名称字符串,可对多种语言使用相同的注册。 每种语言安装都提供一个不同的资源文件,该文件的显示名称存储在同一资源 ID 中。

以下示例演示虚构 Lit View 即时消息传递程序的注册。 由于它是即时消息传递程序,因此 CanonicalName 子项(在本例中为 Lit View)存储在 IM 子项下

HKEY_LOCAL_MACHINE
   Software
      Clients
         IM
            Lit View
               (Default) = Lit View
               LocalizedString = @C:\Program Files\LitwareInc\ResourceDLL.dll,-123

请注意使用 (Default) 项作为客户端显示名称的辅助声明。 如果 LocalizedString 不存在,则改用 (Default) 值。 这适用于所有客户端类型(Internet 浏览器、电子邮件浏览器、即时通信程序和媒体播放器)。 为了向后兼容 Internet Explorer 客户端注册表布局,电子邮件程序应将 CanonicalName 子项的 (Default) 值设置为当前安装语言的客户端显示名称。

注册程序的图标

注意

本部分不适用于 Windows 2000。

 

默认情况下,Windows XP 和 Windows Vista“开始”菜单的上半部分包含“Internet”和“电子邮件”图标。 Windows 7 及更高版本中不存在这些图标。 对于浏览器和电子邮件客户端,将某个程序指定为其客户端类型的默认程序时,该程序的注册图标会在这些“开始”菜单项中显示

对于浏览器和电子邮件客户端而言,必须注册程序的图标。 为媒体播放、即时消息传递或适用于 Java 的虚拟机客户端类型注册图标是可选操作,并且 Windows 当前不使用这些客户端类型的已注册图标,也不会在 Windows XP 或 Windows Vista“开始”菜单的上半部分中显示这些图标

若要注册客户端程序的图标,请添加使用默认值的 DefaultIcon 子项,如下所示

HKEY_LOCAL_MACHINE
   Software
      Clients
         ClientTypeName
            CanonicalName
               DefaultIcon
                  (Default) = FilePath,IconIndex

FilePath 值是包含图标的文件的完整路径。 此路径不需要引号,即使其包含空格也是如此。

IconIndex 值解释如下

  • 如果 IconIndex 是正数,则使用该数字作为存储在文件中的从零开始的图标数组的索引。 例如,如果 IconIndex 为 1,则从文件中加载第二个图标
  • 如果 IconIndex 为负数,则使用 IconIndex 的绝对值作为图标的资源标识符(而不是索引)。 例如,如果 IconIndex 为 -3,则从文件中加载资源标识符为 3 的图标

以下示例演示了虚构 Lit View 浏览器的注册过程。 Litview.exe 文件中存储的第二个图标用作默认图标。

HKEY_LOCAL_MACHINE
   Software
      Clients
         StartMenuInternet
            LITVIEW.EXE
               DefaultIcon
                  (Default) = C:\Program Files\LitwareInc\Litview.exe,1

注册开放谓词

注意

本部分不适用于 Windows 2000。 只有浏览器和电子邮件客户端才需要执行以下步骤。

 

假设用户已选择你的程序作为默认 Internet 或电子邮件程序。 该用户单击 Windows XP 或 Windows Vista“开始”菜单中的“Internet”或“电子邮件”图标以打开该程序。 此时,将执行注册的命令行,如下所示。

HKEY_LOCAL_MACHINE
   Software
      Clients
         ClientTypeName
            CanonicalName
               shell
                  open
                     command
                        (Default) = command line

命令行必须指定文件的完全限定绝对路径,后跟可选的命令行选项。 如果项类型为 REG_EXPAND_SZ,则可以在路径中使用环境变量。 适当地使用引号,以确保命令行中的空格不会被误解。 命令行应使用适当的默认值执行程序。 浏览器通常默认打开用户的主页。 电子邮件程序通常会打开用户的“收件箱”

以下示例演示了如何注册虚构 Lit View 浏览器的 open 谓词。 它不指定任何命令行选项。

HKEY_LOCAL_MACHINE
   Software
      Clients
         StartMenuInternet
            LITVIEW.EXE
               shell
                  open
                     command
                        (Default) = "C:\Program Files\LitwareInc\Litview.exe"

请注意,在此值中,路径包含在引号中,因为它包含嵌入的空格。 省略这些引号可能会导致命令行被误解。

注册安装信息

注意

本部分不适用于 Windows Server 2003。

 

下表显示了用户选择每台计算机的默认程序时所用功能的命名和访问方式。 (Windows Vista 引入了一项新功能,即设置默认程序,用户可以通过该功能设置每个用户的默认程序。)

操作系统 游戏 访问位置
Windows 7 设置程序访问和计算机默认值
  • “开始”菜单“默认程序”选项
  • “默认程序”控制面板项
Windows Vista 设置程序访问和计算机默认值
  • “开始”菜单“默认程序”选项
  • “默认程序”控制面板项
Windows XP SP2 设置程序访问和默认值
  • “开始”菜单
  • “添加或移除程序”控制面板项
Windows XP SP1 配置程序
  • “添加或移除程序”控制面板项

 

为简单起见,本主题使用该功能的 Windows 7 标题。 该功能的所有版本通常都称为 SPAD。

注意

如果运行的是 Windows 2000 或 Windows XP,则必须至少安装 Windows 2000 SP3 或 Windows XP SP1 才能看到“设置程序访问和默认值”页面。 在 Windows Vista 及更高版本中,访问“设置程序访问和计算机默认值”页面需要管理员权限。 因此,建议开发人员注册设置默认程序控制面板项,以便任何用户都可以管理应用程序默认值。

 

以下注册表树显示必须在程序的 InstallInfo 项中注册的各种信息,以便该程序在“设置程序访问和计算机默认值”页上显示为其客户端类型的选项。 以下部分详细介绍了其中每个值。

HKEY_LOCAL_MACHINE
   Software
      Clients
         ClientTypeName
            CanonicalName
               InstallInfo
                  HideIconsCommand = command line
                  ReinstallCommand = command line
                  ShowIconsCommand = command line
                  IconsVisible = 1

命令行必须指定文件的完全限定绝对路径,后跟可选的命令行选项。 适当地使用引号,以确保命令行中的空格不会被误解。

重新安装命令

当用户使用“设置程序访问和计算机默认值”页面选择你的程序作为其客户端类型的默认程序时,将执行在 ReinstallCommand 值中声明的重新安装命令行。 在 Windows Vista 及更高版本中,访问此页面需要管理员权限级别。 在 Windows 8 中,如果已为“设置程序访问和计算机默认值”和“默认程序”使用相同的名称注册应用程序,则在该应用程序的“默认程序”中指定的默认程序将应用于当前用户以及运行重新安装命令

重新安装命令行启动的程序必须将应用程序与应用程序可以处理的全套文件协议类型关联起来。 所有应用程序都必须在重新安装命令中建立处理程序功能。 应用程序可以使用重新安装命令来注册功能以及建立默认状态(可选)。 当应用程序选择在重新安装命令中实现功能和默认处理程序状态时,它还应恢复所需的任何可见链接或快捷方式。 隐藏图标命令中列出了大多数应用程序选择的可见入口点。

注意

强烈建议应用程序在重新安装命令中实现处理功能。

 

重新安装过程完成后,重新安装命令行启动的程序应该退出。 它不应启动相应的程序;而只应注册默认程序。 例如,浏览器的重新安装命令不应打开用户的主页。

注意

对于 Windows XP 和 Windows Vista 中的浏览器和电子邮件客户端,在重新安装命令中选择建立处理能力和默认状态的应用程序应注册“开始”菜单顶部的相应图标。 有关其他信息,请参阅“开始”菜单注册

 

隐藏图标命令

当用户清除“设置程序访问和计算机默认值”页面中的“启用对此程序的访问”框时,将执行 HideIconsCommand 值中声明的命令行。 此命令行必须隐藏用户界面中可见的所有程序接入点。 具体准则是从以下位置移除快捷方式和图标:

  • 桌面图标
  • “开始”菜单链接,包括”启动”
  • 快速启动栏链接
  • 通知区域
  • 快捷菜单
  • 文件夹任务区段

此命令行还必须防止自动调用程序,例如在“Run”注册表项中指定的程序。 建议供应商在应用程序的“隐藏访问权限”回调中实施这些准则。

隐藏图标时,无需放弃文件类型的注册(应用程序功能)。 也不需要放弃应用程序的文件和协议类型的默认状态。 在 UI 中遇到这些类型时,这样做可能会导致用户体验不佳。

成功隐藏图标后,必须将 IconsVisible 注册表值更新为 0,如下所示:

HKEY_LOCAL_MACHINE
   Software
      Clients
         ClientTypeName
            CanonicalName
               InstallInfo
                  IconsVisible = 0

IconsVisible 项的类型为 REG_DWORD

SPAD 中的替代隐藏图标方法

对于某些旧版应用程序,完整实现隐藏访问权限可能不切实际。 实现相同效果的替代方法是卸载应用程序。 以下部分显示了实现此替代方法的示例行为和示例代码。 通常,独立软件供应商 (ISV) 应避免这种替代方法,因为它会:

  • 从系统中完全卸载应用程序。
  • 移除之前选择的默认值。
  • 不保留重新安装应用程序的 UI 选项。
  • 使启用访问功能不再可用,因为卸载会从 SPAD 中完全移除应用程序。

推荐的用户体验如下:

  • 当用户取消选中 SPAD 中的“启用对此程序的访问”框时,将显示以下 UI。

    dialog box about hiding access to the program

  • 当用户选择“确定”时,将启动“程序和功能”控制面板项,以便用户卸载应用程序

  • Windows XP 用户应会看到此对话框。

    equivalent windows xp dialog box

  • 当 Windows XP 用户选择“确定”时,将启动“添加或删除程序”控制面板项,以便用户卸载应用程序

如上所述,以下代码为“隐藏访问权限”功能提供了可重用的实现。 它可以在 Windows XP、Windows Vista 和 Windows 7 上使用。

#include <windows.h>
#include <shlwapi.h>
#include <strsafe.h>

PCWSTR c_pszMessage1 = L"To hide access to this program, you need to uninstall it by ";
PCWSTR c_pszMessage2 = L"using\n%s in Control Panel.\n\nWould you like to start %s?";
PCWSTR c_pszApplicationName  = L"Sample App";

int _tmain(int argc, WCHAR* argv[])
{
    OSVERSIONINFO version;
    version.dwOSVersionInfoSize = sizeof(version);

    if (GetVersionEx(&version))
    {
        PCWSTR pszCPLName = NULL;

        if (version.dwMajorVersion >= 6)
        {
            // Windows Vista and later
            pszCPLName = L"Programs and Features";
        }
        else if (version.dwMajorVersion == 5 &&
                 version.dwMinorVersion == 1)
        {
            // Windows XP
            pszCPLName = L"Add/Remove Programs";
        }

        if (pszCPLName != NULL)
        {
            WCHAR szMessage[256], szScratch[256];
            if (SUCCEEDED(StringCchPrintf(szScratch, 
                                          ARRAYSIZE(szScratch), 
                                          c_pszMessage2, 
                                          pszCPLName, 
                                          pszCPLName)))
            {
                if (SUCCEEDED(StringCchCopy(szMessage, 
                                            ARRAYSIZE(szMessage), 
                                            c_pszMessage1)))
                {
                    if (SUCCEEDED(StringCchCat(szMessage, 
                                               ARRAYSIZE(szMessage), 
                                               szScratch)))
                    {
                        if (IDOK == MessageBox(NULL, 
                                               szMessage, 
                                               c_pszApplicationName, 
                                               MB_OKCANCEL))
                        {
                            ShellExecute(NULL, 
                                         NULL, 
                                         L"appwiz.cpl", 
                                         NULL, 
                                         NULL, 
                                         SW_SHOWNORMAL);
                        }
                    }
                }
            }
        }
    }
    return 0;
}

显示图标命令

当用户选中“设置程序访问和计算机默认值”页面中的“启用对此程序的访问”框时,将执行 ShowIconsCommand 项中声明的命令行。 此命令行可以还原程序的接入点(包括“开始”菜单、桌面和“启动”组中的接入点)以及正常的自动调用(例如在“Run”注册表项中指定的接入点)隐藏图标命令中列出了大多数应用程序的相关可见接入点。 应用程序不应更改每个用户的默认程序;该更改应由用户通过“默认程序”完成。

成功显示图标后,必须将 IconsVisible 注册表值更新为 1,如下所示:

HKEY_LOCAL_MACHINE
   Software
      Clients
         ClientTypeName
            CanonicalName
               InstallInfo
                  IconsVisible = 1

请注意,如果已使用 HideIconsCommand 项提示卸载应用程序,ShowIconsCommand 项就没有作用。 应在卸载过程中将其与应用程序的其他信息一起从注册表中移除。

组程序配置

注意

本部分不适用于 Windows 2000。

 

作为系统准备的一部分,OEM 可以建立一个配置来隐藏 Microsoft 浏览器、电子邮件、媒体播放、即时消息传递或适用于 Java 的虚拟机客户端程序的接入点,并指定其自己的默认程序。 OEM 可以让用户通过设置以下注册表值随时将其计算机重置为此默认配置。

HKEY_LOCAL_MACHINE
   Software
      Clients
         ClientTypeName
            CanonicalName
               InstallInfo
                  OEMShowIcons = 1
                  OEMDefault = 1

如果设置了这些键,用户可以通过在“设置程序访问和计算机默认值”页面上选择“计算机制造商”选项来还原 OEM 配置。 如果未设置这些键,则不会显示“计算机制造商选项”

OEMShowIcons 项(如果存在)设置指定客户端的图标显示状态,如果用户选择“计算机制造商”,则会应用该状态。 值为 1 时会显示图标,值为 0 时不会显示图标。 如果 OEMShowIcons 不存在,选择“计算机制造商”对图标显示设置没有影响。 OEMShowIcons 的类型为 REG_DWORD

OEMDefault 项(如果存在并设置为 1)将为指定类型的默认客户端建立 OEM 首选项。 只能将特定类型的一个客户端标记为 OEM 默认客户端。 如果多个客户端的注册包含 OEMDefault 项,则会忽略所有客户端,并且当前客户端将继续用作默认客户端。 如果 OEMDefault 项不存在或存在并设置为 0,则当用户选择“计算机制造商”时,该特定客户端不会用作默认客户端。 OEMDefault 的类型为 REG_DWORD

除了将计算机重置为 OEM 建立的默认配置的选项外,用户还有三个其他配置选项:

  • 将其计算机设置为 Microsoft Windows 配置。 在这种情况下,“设置程序访问和计算机默认值”页面允许访问计算机上在相关产品类别中注册的所有 Microsoft 和非 Microsoft 软件。 Microsoft Windows 程序被选为每个类别的默认选项。
  • 将其计算机设置为非 Microsoft 配置。 此配置隐藏 Windows Internet Explorer、Windows 媒体播放器、Windows Messenger 和 Microsoft Outlook Express 的接入点(如“开始”菜单)。 它允许访问计算机上属于这些类别的非 Microsoft 软件。 此外,如果某个类别中有一个可用的非 Microsoft 程序,则会将其设置为该类别的默认程序。 如果某个类别中有多个非 Microsoft 程序,则系统会要求用户选择应将哪个非 Microsoft 程序用作默认值。
  • 建立自定义配置。 用户可以自行选择启用或移除访问权限,并根据自己的需要混合使用 Microsoft 和非 Microsoft 程序。 用户按类别建立默认选项。

用户可以随时更改任何这些选项。

浏览器注册示例

以下示例显示了虚构 Lit View 浏览器的完整 InstallInfo 注册。 在这种情况下,命令行开关允许 Litview.exe 文件执行每个值所需的任何操作。

HKEY_LOCAL_MACHINE
   Software
      Clients
         StartMenuInternet
            LITVIEW.EXE
               InstallInfo
                  ReinstallCommand = "C:\Program Files\LitwareInc\Litview.exe" /reinstall
                  HideIconsCommand = "C:\Program Files\LitwareInc\Litview.exe" /hideicons
                  ShowIconsCommand = "C:\Program Files\LitwareInc\Litview.exe" /showicons
                  IconsVisible = 1

请注意,路径包含在引号中,因为它们包含嵌入的空格。

特定客户端类型的注册元素

还可以在本主题末尾的“相关主题”部分列出的资源中找到以下信息。

“开始”菜单注册

在 Windows XP 下,应用程序通常在计算机范围 (HKEY_LOCAL_MACHINE) 而不是用户范围内 (HKEY_CURRENT_USER) 注册默认值。 随着 Windows Vista 引入用户帐户控制 (UAC),在“开始”菜单中声明“Internet”和“电子邮件”槽的应用程序必须在正确的执行上下文中实现重新安装命令

注意

自 Windows 7 起,已移除“开始”菜单的“电子邮件”链接。 但是,仍应执行本节中讨论的注册,因为它会分配默认的 MAPI 客户端。

 

Windows XP、Windows Vista 或 Windows 7 上的受限用户无法访问 SPAD。 因此,建议开发人员注册“设置默认程序”控制面板项,以便任何用户都可以管理每用户应用程序的默认设置

在 SPAD 中进行的选择应只影响每台计算机的设置。

按如下所示设置注册表值。

HKEY_LOCAL_MACHINE
   Software
      Clients
         ClientTypeName
            (Default) = CanonicalName

注意

以下信息仅适用于 Windows XP。

如果在上面的 HKEY_LOCAL_MACHINE 下成功注册了计算机级默认值,则应用程序应删除分配给以下子项下的 Default 项的值:

HKEY_CURRENT_USER
   SOFTWARE
      Clients
         ClientTypeName

如果在上面的 HKEY_LOCAL_MACHINE 下注册计算机级默认值失败,通常是因为用户没有对该子项的写权限,应用程序应设置以下值:

HKEY_CURRENT_USER
   SOFTWARE
      Clients
         ClientTypeName
            (Default) = CanonicalName

这仅为当前用户而不是所有用户注册规范名称。

 

更新注册表项后,程序应广播 WM_SETTINGCHANGE 消息,并使 wParam = 0 且 lParam 指向以 null 结尾的字符串“Software\Clients\ClientTypeName”,以通知操作系统默认客户端已更改

邮件客户端注册

对于邮件客户端,程序需要在 HKEY_CLASSES_ROOT\mailto 项下注册设置,以便为使用 mailto 协议的 URL 提供服务。 在以下项下设置反映这些设置的值和键。

HKEY_LOCAL_MACHINE
   Software
      Clients
         Mail
            CanonicalName
               Protocols
                  mailto

此注册表层次结构取代了位于 HKEY_CLASSES_ROOT\mailto 的现有 mailto 注册表层次结构。 层次结构保持不变,只是位置发生了变化。 此层次结构的格式记录在 MSDN 上的异步可插拔协议概述和教程下。 通常,mailto 协议注册到程序而不是异步协议,在这种情况下,有关将应用程序注册到 URI 方案的文档适用。

以下示例显示了注册到程序的 mailto 处理程序注册的 mailto 部分。

HKEY_LOCAL_MACHINE
   Software
      Clients
         Mail
            CanonicalName
               Protocols
                  mailto
                     (Default) = URL:MailTo Protocol
                     EditFlags = 02 00 00 00
                     URL Protocol
                     DefaultIcon
                        (Default) = %FilePath%,IconIndex
                     shell
                        open
                           command
                              (Default) = command line

文件类型中标题为“定义文件类型属性”的部分记录了 EditFlags 注册表值。

完成示例注册

以下示例显示了各种客户端类型的完整注册要求。

示例浏览器

HKEY_LOCAL_MACHINE
   Software
      Clients
         StartMenuInternet
            LITVIEW.EXE
               (Default) = Lit View
               LocalizedString = @C:\Program Files\LitwareInc\ResourceDLL.dll,-123
               DefaultIcon
                  (Default) = C:\Program Files\LitwareInc\LITVIEW.EXE,1
               InstallInfo
                  ReinstallCommand = "C:\Program Files\LitwareInc\LITVIEW.EXE" /reinstall
                  HideIconsCommand = "C:\Program Files\LitwareInc\LITVIEW.EXE" /hideicons
                  ShowIconsCommand = "C:\Program Files\LitwareInc\LITVIEW.EXE" /showicons
                  IconsVisible = 1
                  shell
                     open
                        command
                           (Default) = "C:\Program Files\LitwareInc\LITVIEW.EXE" /homepage

示例邮件浏览器

HKEY_LOCAL_MACHINE
   Software
      Clients
         Mail
            Lit View
               (Default) = Lit View
               DLLPath = @C:\Program Files\LItwareInc\LitwareMAPI.dll
               LocalizedString = @C:\Program Files\LitwareInc\ResourceDLL.dll,-123
               DefaultIcon
                  (Default) = C:\Program Files\LitwareInc\LITVIEW.EXE,1
               InstallInfo
                  ReinstallCommand = "C:\Program Files\LitwareInc\LITVIEW.EXE" /reinstall
                  HideIconsCommand = "C:\Program Files\LitwareInc\LITVIEW.EXE" /hideicons
                  ShowIconsCommand = "C:\Program Files\LitwareInc\LITVIEW.EXE" /showicons
                  IconsVisible = 1
               shell
                  open
                     command
                        (Default) = "C:\Program Files\LitwareInc\LITVIEW.EXE" /inbox
               protocols
                  mailto
                     (Default) = URL:MailTo Protocol
                     EditFlags = 02 00 00 00
                     URL Protocol
                     DefaultIcon
                        (Default) = C:\Program Files\LitwareInc\LITVIEW.EXE,1
                     shell
                        open
                           command
                              (Default) = "C:\Program Files\LitwareInc\LITVIEW.EXE" /mailto:%1

示例媒体播放器

HKEY_LOCAL_MACHINE
   Software
      Clients
         Media
            Lit View
               (Default) = Lit View
               LocalizedString = @C:\Program Files\LitwareInc\ResourceDLL.dll,-123
               DefaultIcon
                  (Default) = C:\Program Files\LitwareInc\LITVIEW.EXE,1
               InstallInfo
                  ReinstallCommand = "C:\Program Files\LitwareInc\LITVIEW.EXE" /reinstall
                  HideIconsCommand = "C:\Program Files\LitwareInc\LITVIEW.EXE" /hideicons
                  ShowIconsCommand = "C:\Program Files\LitwareInc\LITVIEW.EXE" /showicons
                  IconsVisible = 1

示例即时通信程序

HKEY_LOCAL_MACHINE
   Software
      Clients
         IM
            Lit View
               (Default) = Lit View
               LocalizedString = @C:\Program Files\LitwareInc\ResourceDLL.dll,-123
               DefaultIcon
                  (Default) = C:\Program Files\LitwareInc\LITVIEW.EXE,1
               InstallInfo
                  ReinstallCommand = "C:\Program Files\LitwareInc\LITVIEW.EXE" /reinstall
                  HideIconsCommand = "C:\Program Files\LitwareInc\LITVIEW.EXE" /hideicons
                  ShowIconsCommand = "C:\Program Files\LitwareInc\LITVIEW.EXE" /showicons
                  IconsVisible = 1

适用于 Java 的虚拟机示例

HKEY_LOCAL_MACHINE
   Software
      Clients
         JavaVM
            Lit View
               (Default) = Lit View
               LocalizedString = @C:\Program Files\LitwareInc\ResourceDLL.dll,-123
               DefaultIcon
                  (Default) = C:\Program Files\LitwareInc\LITVIEW.EXE,1
               InstallInfo
                  ReinstallCommand = "C:\Program Files\LitwareInc\LITVIEW.EXE" /reinstall
                  HideIconsCommand = "C:\Program Files\LitwareInc\LITVIEW.EXE" /hideicons
                  ShowIconsCommand = "C:\Program Files\LitwareInc\LITVIEW.EXE" /showicons
                  IconsVisible = 1

文中作为示例描述的公司、组织、产品、域名、电子邮件地址、徽标、人物、地点以及事件均属虚构。 与任何真实的公司、组织、产品、域名、电子邮件地址、徽标、人员、地点或事件没有任何联系,也不应据此进行任何臆测或推断。

默认程序

如何使用 Windows“开始”菜单注册 Internet 浏览器或电子邮件客户端

Internet Explorer 客户端注册表布局(请参阅“客户端注册表项定义”部分)

异步可插拔协议概述和教程

将应用程序注册到 URI 方案