我正在寻找一种从C#在Windows 10 / 8.1上启动/运行Windows应用商店应用的方法。
我尝试运行的应用程序的示例是
注意:在Windows 10中,这些不再是标准的.exe文件,可以通过双击或调用Process.Start()来执行,因为它们现在是Windows应用商店。
我曾尝试使用IApplicationActivationManager,但我找不到合适的文档,并提供了如何使用它的示例。
答案 0 :(得分:5)
有几种方法可以做到这一点。最简单的方法是使用Process.Start
和URL或文件处理程序。
例如,这将打开视频应用程序:
Process.Start("microsoftvideo://");
或更新页面上的商店:
Process.Start("ms-windows-store:updates");
或照片应用:
Process.Start("ms-photos://");
还有几个句柄,其中一些可以找到here。您可以在打开注册表项HKEY_CLASSES_ROOT\Extensions\ContractId\Windows.Protocol\PackageId
时找到这些名称。查找CustomProperties
密钥。它有一个属性Name
。那是一个可以使用的。
可以在SU上找到一些其他有用的指针:How do I run a Metro-Application from the command-line in Windows 8?。
答案 1 :(得分:0)
我找到了一种很酷的方式来运行通过 Windows 应用商店下载或预安装的每个 Windows 通用应用程序。
每个 Windows 10 通用应用都有一个 AUMID
,代表“应用程序用户模型 ID”。
PowerShell 获取所有 AUMID 的命令:
get-StartApps
输出:
<块引用>PS C:\> get-StartApps
Name AppID
---- -----
Skype Microsoft.SkypeApp_kzf8qxf38zg5c!App
Snip & Sketch Microsoft.ScreenSketch_8wekyb3d8bbwe!App
Mail microsoft.windowscommunicationsapps_8wekyb3d8bbwe!microsoft.w...
Calendar microsoft.windowscommunicationsapps_8wekyb3d8bbwe!microsoft.w...
Movies & TV Microsoft.ZuneVideo_8wekyb3d8bbwe!Microsoft.ZuneVideo
OneNote for Windows 10 Microsoft.Office.OneNote_8wekyb3d8bbwe!microsoft.onenoteim
Photos Microsoft.Windows.Photos_8wekyb3d8bbwe!App
Video Editor Microsoft.Windows.Photos_8wekyb3d8bbwe!SecondaryEntry
Maps Microsoft.WindowsMaps_8wekyb3d8bbwe!App
Alarms & Clock Microsoft.WindowsAlarms_8wekyb3d8bbwe!App
Voice Recorder Microsoft.WindowsSoundRecorder_8wekyb3d8bbwe!App
Feedback Hub Microsoft.WindowsFeedbackHub_8wekyb3d8bbwe!App
Xbox Game Bar Microsoft.XboxGamingOverlay_8wekyb3d8bbwe!App
Camera Microsoft.WindowsCamera_8wekyb3d8bbwe!App
Microsoft Store Microsoft.WindowsStore_8wekyb3d8bbwe!App
Weather Microsoft.BingWeather_8wekyb3d8bbwe!App
Cortana Microsoft.549981C3F5F10_8wekyb3d8bbwe!App
Instagram Facebook.InstagramBeta_8xx8rvfyw5nnt!Instagram
...
现在,您可以通过其 AUMID 启动任何通用应用,如下所示:
explorer shell:appsfolder\[AUMID]
例如,如果您要执行Skype
:
explorer shell:appsfolder\Microsoft.SkypeApp_kzf8qxf38zg5c!App
现在是回到 Csharp 的时候了:
Process.Start("explorer shell:appsfolder\Microsoft.BingWeather_8wekyb3d8bbwe!App");
Windows Weather
应用将执行。