2013-01-03 228 views

回答

5

所有Modern UI应用程序都有一个与它们相关的URL协议,可用于启动应用程序。
你可以找到找到一个特定的应用程序是这样的协议:

  1. 按下的Windows + R
  2. 类型regedit
  3. 导航到HKEY_CLASSES_ROOT\Extensions\ContractId\Windows.Protocol\PackageId
  4. 查找您的应用程序的子项(例如,AMZNMobileLLC.KindleforWindows8_1.1.0.0_neutral__stfe6vwa9jnbp
  5. 在该子项内,请转到ActivatableClassId_some long name_\CustomProperties
  6. Name值会告诉你协议名称。

然后,您可以通过name://Process.Start()

(我回答这个on SuperUser

+1

并非所有的metro应用都有协议关联。这取决于应用程序所有者。 – 2013-02-21 20:07:00

1

我找到了另一种方式,从一个Win32应用程序启动win8的应用程序。

  1. 在你的WinRT项目去Package.appxmanifest -> declarations
  2. 添加File Type AssociationsName字段中输入:myAppLaunch,在File Type进入.myAppLaunch(与点)
  3. Create(对于例如在Descktop)的文件,并设置.myAppLaunch作为扩展。
  4. 现在,在你的Win32应用程序中,执行该文件。
相关问题