我正在寻找一种从C#在Windows 10/8.1上启动/运行Windows应用商店应用的方法.
我试图运行的应用程序的示例是
注意:在Windows 10中,这些不再是标准的.exe文件,可以通过双击或调用Process.Start()来执行,因为它们现在是Windows应用商店.
我曾尝试使用IApplicationActivationManager但我找不到合适的文档,并提供了如何使用它的示例.
Pey*_*idi 11
我找到了一种很酷的方法来运行通过 Windows 应用商店下载或预安装的每个 Windows 通用应用程序。每个 Windows 10 通用应用程序都有一个AUMID代表“应用程序用户模型 ID”。
用于获取所有 AUMID 的PowerShell命令:
get-StartApps
Run Code Online (Sandbox Code Playgroud)
输出:
Run Code Online (Sandbox Code Playgroud)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]
Run Code Online (Sandbox Code Playgroud)
例如,如果您想执行Skype:
explorer shell:appsfolder\Microsoft.SkypeApp_kzf8qxf38zg5c!App
Run Code Online (Sandbox Code Playgroud)
现在是时候回到 Csharp 了:
Process.Start("explorer shell:appsfolder\Microsoft.BingWeather_8wekyb3d8bbwe!App");
Run Code Online (Sandbox Code Playgroud)
该Windows Weather应用程序将执行。
有几种方法可以做到这一点.最简单的方法是使用Process.StartURL或文件处理程序.
例如,这将打开视频应用程序:
Process.Start("microsoftvideo://");
Run Code Online (Sandbox Code Playgroud)
或更新页面上的商店:
Process.Start("ms-windows-store:updates");
Run Code Online (Sandbox Code Playgroud)
或照片应用程序:
Process.Start("ms-photos://");
Run Code Online (Sandbox Code Playgroud)
还有几个手柄,其中一些可以在这里找到.您可以在打开注册表项时找到这些名称HKEY_CLASSES_ROOT\Extensions\ContractId\Windows.Protocol\PackageId.寻找CustomProperties钥匙.它有一个属性Name.这是一个使用.
在SU上可以找到一些其他有用的指针:如何从Windows 8中的命令行运行Metro-Application?.