如何在 Windows 8 中從命令列運行 Metro 應用程式?

如何在 Windows 8 中從命令列運行 Metro 應用程式?

我正在開發一個自動化系統,它的功能之一是從命令列運行應用程式(我的意思是,自動運行,無需人工幹預)。

在 Windows 7 上,我可以透過命令列呼叫來運行我想要的所有內容,是否有一些類似的方法可以對 Windows 8 執行相同的操作,並且還安裝了 Metro 應用程式?

答案1

是的!我找到了一個方法...

基於原始碼(「從桌面應用程式開啟 Metro 風格應用程式」),我意識到我可以像我們通常手動運行一樣呼叫 Metro 應用程式。我的意思是,如果您按Ctrl+Esc並轉到metro的螢幕,您只需鍵入metro應用程式的名稱,例如“商店”,然後按Enter即可,metro應用程式正在運行。基於此,我建立了一個非常簡單的 VBScript 來自動執行這些步驟:

設定 objShell = WScript.CreateObject("WScript.Shell")

objShell.SendKeys "^{ESC}"

WScript.Sleep 1000

objShell.SendKeys WScript.Arguments.Item(0)

WScript.Sleep 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」。

電源外殼取得所有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

相關內容