0

URI 协议处理程序允许开发人员将自定义协议与他们的应用程序相关联,以便单击指向我们自定义协议的链接将启动应用程序,而不是在浏览器中打开它。Zoom 和许多其他应用程序使用此功能在单击其 Web 链接时启动其应用程序。

我们使用此方法允许用户在单击特定链接时启动 Microsoft Word。我们的注册表项如下所示(test是我们自定义协议的名称):

HKCR
  test
    shell
      open
        command
          (default) => winword /t%1

只要安装了 Office 的标准桌面版本(例如 Office 2016、Office 2019 或 Office 365),它就可以正常工作并在单击链接时启动已安装的 Microsoft Word 版本,但似乎不适用于 Microsoft Store Office 版本。

我以为command上面的节点只是一个shell命令,会被Windows启动,但似乎并非如此。在命令提示符或 Windows 运行对话框甚至批处理文件上键入winword可以正确启动 Word,但在协议处理程序中使用它似乎没有做任何事情。有趣的是,浏览器确实显示“网站想要启动 Word”提示,但选择“是”似乎没有做任何事情。我也试过移除任何额外的开关,winword但没有用。替换winword为其他一些应用程序,例如notepad.exe正常工作。

我们需要做一些特别的事情来运行 Window Store 应用程序吗?

复制它很简单。

  • 只需将上述密钥添加到您的注册表中即可。
  • 确保您的计算机上安装了 Microsoft Word。
  • 创建一个包含超链接的 HTML 页面,其href属性设置为test://example.com.
  • 在浏览器中打开页面并单击链接。

这应该会显示一个确认提示,询问您是否要启动 Word。如果您拥有 Word 的标准桌面版本,单击 Yes 将启动 Word,但如果您拥有 Store 版本,则不会执行任何操作。

4

0 回答 0