10

我需要一種方法來從命令行打開Metro應用程序中的文件。從命令行在Metro應用程序中打開文件

到目前爲止,我已經找到了如何啓動命令行應用程序,沒有任何第三方腳本

explorer shell:AppsFolder\Microsoft.Reader_8wekyb3d8bbwe!Microsoft.Reader 

,但我一直無法弄清楚如何將一個文件的名字呢。

啓動

explorer shell:AppsFolder\Microsoft.Reader_8wekyb3d8bbwe!Microsoft.Reader example.pdf 

只是打開了一個默認的瀏覽器窗口。

Windows 8專家如何完成此任何想法沒有任何第三方工具/ cmdlet /等?

注意:事實上,我使用Windows 10,但我猜如果有Windows 8/8.1的方式來做到這一點,它也會工作10。

回答

2

如果應用程序是默認處理程序,那麼您可以啓動文件或協議。從命令行啓動文件到非默認處理程序中沒有很好的內置方法。

Windows應用商店應用並非設計爲從命令行運行,並且沒有直接從命令行啓動它們的方式。其處理特定文件或協議的應用程序接收他們通過FileActivatedEventArgsProtocolActivatedEventArgs而不是命令行參數

你可以寫它採用CLSID_ApplicationActivationManager的IApplicationActivationManagerActivateForFile特定應用的啓動應用程序。

+0

我可以使用「start path/to/file.pdf」啓動它,但這會在舊系統上打開命令提示符。 – Arafangion 2015-06-09 06:22:41

8

如果您仍然在尋找答案,在metro應用程序中打開文件的最佳方式是使用像正常應用程序協議那樣的執行字符串。執行字符串看起來是這樣的:

bingnews:[arguments, can be left blank.] 
microsoftvideo:[arguments, can be left blank.] 
netflix:[arguments, can be left blank.] 

因此,啓動Netflix公司,它是如鍵入Start netflix:進入命令行一樣簡單。

爲了找到一個應用程序的執行字符串,去這裏:控制面板\程序\默認程序\設置關聯


更多信息和例子可以在這裏找到。

http://windowsitpro.com/windows-8/opening-windows-8-apps-command-prompt-or-script

http://www.itsjustwhatever.com/2012/10/28/launch-windows-8-metro-apps-from-a-desktop-shortcut-or-command-line/


請注意:要打開一個應用程序沒有一個協議(一個在註冊表中或在 「設置關聯」 未上市)使用OP的方法:

explorer shell:AppsFolder\[appuid]![appfullname]

的應用程序UID是不帶版本號的文件夾名稱。例如,

4DF9E0F8。Netflix_ 2.11.0.8_x64 __mcm4njqhnhss8

變得

4DF9E0F8.Netflix_mcm4njqhnhss8

該應用全稱是[App author].[App name]例如,4DF9E0F8.Netflix。 4DF9E0F8是作者,Netflix是這個名字。

把它放在一起獲得

​​

+1

這是非常接近我想要的,除了我怎麼知道metro風格的應用程序是默認的,因此,使用這種方法? – Arafangion 2015-06-09 06:23:37

+0

要了解有關協議的更多信息,並通過特定協議打開哪個應用程序,請打開「設置」,選擇「系統」,單擊側邊欄上的「默認應用程序」選項卡,然後向下滾動,直到找到「選擇默認應用程序protocol'。 – 2017-06-07 09:45:13

2

商店應用程序只能通過殼啓動。所以,試試這個:

explorer.exe shell:AppsFolder\Microsoft.WindowsAlarms_8wekyb3d8bbwe!App 

或者從運行(WIN + R):

shell:AppsFolder\Microsoft.WindowsAlarms_8wekyb3d8bbwe!App 
0

不知道這是否適用於Windows 8,但在Windows 10我用這個:

cmd /C start <app-name>: 

例如,要啓動Slack:

cmd /C start slack: 
相關問題