.net “Windows 8启动”;地铁";来自桌面应用程序的应用程序?

.net “Windows 8启动”;地铁";来自桌面应用程序的应用程序?,.net,windows-8,.net,Windows 8,有没有办法从.net中的桌面应用程序启动“Metro”应用程序?所有现代UI应用程序都有与之关联的URL协议,可用于启动应用程序。 您可以找到特定应用程序的协议,如下所示: 按Windows+R 键入regedit 导航到HKEY\U CLASSES\U ROOT\Extensions\contracid\Windows.Protocol\PackageId 查找应用程序的子项(例如,AMZNMobileLLC.KindleforWindows8_1.1.0.0_neutral_stfe6vwa

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

所有现代UI应用程序都有与之关联的URL协议,可用于启动应用程序。
您可以找到特定应用程序的协议,如下所示:

  • 按Windows+R
  • 键入
    regedit
  • 导航到
    HKEY\U CLASSES\U ROOT\Extensions\contracid\Windows.Protocol\PackageId
  • 查找应用程序的子项(例如,
    AMZNMobileLLC.KindleforWindows8_1.1.0.0_neutral_stfe6vwa9jnbp
  • 在该子项中,转到
    ActivatableClassId\u一些长名称\u\CustomProperties
  • Name
    值将告诉您协议名称
  • 然后可以将
    name://
    传递给
    Process.Start()


    (我回答了这个问题)

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

  • 在WinRt项目中,转到
    Package.appxmanifest->declarations
  • 添加
    文件类型关联
    并在
    名称
    字段中输入:
    myAppLaunch
    ,在
    文件类型
    中输入
    .myAppLaunch
    (带点)
  • 创建一个文件(例如在Descktop上),并将
    .myAppLaunch
    设置为扩展名
  • 现在,在Win32应用程序中,执行该文件

  • 并非所有metro应用程序都有协议关联。这取决于应用程序所有者。