如何在 Windows 8 中从命令行运行 Metro 应用程序?

如何在 Windows 8 中从命令行运行 Metro 应用程序?

我正在开发一个自动化系统,它的功能之一是从命令行运行应用程序(我的意思是自动运行而无需人工干预)。

在 Windows 7 上,我可以通过命令行调用运行我想要的所有内容,是否有类似的方法可以在安装了 Metro 应用程序的 Windows 8 上执行相同操作?

答案1

是啊!我找到办法了……

基于源代码(“从桌面应用程序打开 Metro 风格应用程序”),我意识到我可以像通常手动运行一样调用 metro 应用程序。我的意思是,如果您按Ctrl+Esc并转到 metro 的屏幕,您只需输入 metro 应用程序的名称,例如“store”,按Enter就可以了,metro 应用程序正在运行。基于此,我创建了一个非常简单的 VBScript 来自动执行以下步骤:

设置 objShell = WScript.CreateObject("WScript.Shell")

objShell.SendKeys "^{ESC}"

WScript.睡眠 1000

objShell.SendKeys WScript.Arguments.Item(0)

WScript.睡眠 1000

objShell.SendKeys“{ENTER}”

将其保存为“metro.vbs”并从命令行调用它,第一个参数是 metro 应用程序的名称:

metro.vbs 商店

就是这样,非常简单和优化的方式。

PS:所有荣誉归功于艾尔胡扎伊,创建相关代码的 Codeplex 网站用户。谢谢您。

答案2

以下博客文章和支持代码向您展示如何使用 PowerShell 中的 IApplicationActivationManager 执行此操作。

获取 Metro 应用列表并使用 PowerShell 在 Windows 8 中启动它们 « Tome's Land of IT

幸运的是,我找到了一些代码堆栈溢出展示了如何在 C# 中使用它(该帖子还列出了我将在本文中描述的注册表信息)。在对代码和 Add-Type 语法进行一些调整后,我能够将我需要的函数公开到 PowerShell 中。之后,只需将函数包装到类似于 PowerShell 的东西中即可。

代码可以在邮政编码

答案3

我刚刚找到了另一种方法,并写了一篇关于它的文章http://www.itsjustwhatever.com/2012/10/28/launch-windows-8-metro-apps-from-a-desktop-shortcut-or-command-line/

简短版本:创建一个指向 bingnews:// 的快捷方式。您可以查看它是否能满足您的要求。如果能,则有更多说明来获取网站上的名称。

答案4

我找到了一种运行通过 Windows 商店下载或预安装的 Windows 通用应用程序的方法。每个 Windows 8/10 通用应用程序都有一个AUMID代表“应用程序用户模型 ID”的 ID。

电源外壳获取所有 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
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
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

相关内容