Windows 8从桌面应用程序启动“metro”应用程序?

时间:2013-01-03 16:50:06

标签: .net windows-8

有没有办法从.net中的桌面应用程序启动“Metro”应用程序?

2 个答案:

答案 0 :(得分:5)

所有现代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值将告诉您协议名称。
  7. 然后,您可以将name://传递给Process.Start()

    (我回答了这个on SuperUser

答案 1 :(得分:1)

我找到了另一种方法,从win32应用程序启动win8应用程序。

  1. 在您的WinRt项目中,转到Package.appxmanifest -> declarations
  2. 添加File Type Associations并在Name字段中输入:myAppLaunch,在File Type中输入.myAppLaunch(带点)
  3. 创建一个文件(例如在Descktop上)并将.myAppLaunch设置为扩展名。
  4. 现在,在Win32应用程序中,执行该文件。