有没有办法从.net 中的桌面应用程序启动“Metro”应用程序?
问问题
1185 次
2 回答
5
所有现代 UI 应用程序都有一个与之关联的 URL 协议,可用于启动应用程序。
您可以找到特定应用程序的协议,如下所示:
- 按 Windows+R
- 类型
regedit
- 导航
HKEY_CLASSES_ROOT\Extensions\ContractId\Windows.Protocol\PackageId
- 查找您的应用程序的子项(例如,
AMZNMobileLLC.KindleforWindows8_1.1.0.0_neutral__stfe6vwa9jnbp
) - 在该子项中,转到
ActivatableClassId_some long name_\CustomProperties
- 该
Name
值将告诉您协议名称。
然后,您可以传递 name://
给Process.Start()
.
(我在 SuperUser 上回答了这个问题)
于 2013-01-03T16:52:00.340 回答
1
我找到了另一种方法,从 win32 应用程序启动 win8 应用程序。
- 在您的 WinRt 项目中转到
Package.appxmanifest -> declarations
- 添加
File Type Associations
并在Name
字段中输入:myAppLaunch
,在File Type
输入中.myAppLaunch
(带点) - 创建一个文件(例如在桌面上)并设置
.myAppLaunch
为扩展名。 - 现在,在您的 Win32 应用程序中,执行该文件。
于 2013-05-24T11:59:27.413 回答