2017-03-01 24 views
0

所以,這裏是我的問題的要點:我有一個鍵盤,我可以從中分配宏和/或啓動程序。我想在該列表中包含一對Win10和Steam應用程序。所以我選擇構建一個可執行的「啓動器」,可以這麼說。從C#可執行文件啓動Windows 10商店應用程序

該代碼本質上是簡單的。通過將Steam網址放入Process.Start(「steam:// rungameid/#####」),我得到了Steam網址的工作。然而,我不能弄清楚如何讓Win10應用程序工作。這是我的課程:

public partial class Form1 : Form 
{ 
    public Form1() 
    { 
     InitializeComponent(); 
    } 

    private void Form1_Load(object sender, EventArgs e) 
    { 
     Process.Start(@"explorer.exe shell:AppsFolder\4DF9E0F8.Netflix_mcm4njqhnhss8!Netflix.App"); 
     Process.Start(@"shell:AppsFolder\4DF9E0F8.Netflix_mcm4njqhnhss8!Netflix.App"); 
     Process.Start("netflix://"); 

     Application.Exit(); 
    } 
} 

Process.Start()的每一行都是我試過的,無濟於事。

底線,我從this answer,試圖也沒有工作

第一行,我可以把在一個運行框中或命令行saDand將推出Netflix的,但是從C#應用程序,我得到一個「系統找不到文件」異常。

感謝您的任何方向!

+0

是啊,那鏈接只能_well-known_工作/協議的應用程序,我懷疑 – MickyD

回答

1

您可以請檢查您是否已安裝此應用程序並在Process.Start(「」)中輸入的名稱是正確的,您可以在打開註冊表項HKEY_CLASSES_ROOT \ Extensions \ ContractId \ Windows.Protocol時找到名稱\包標識。尋找CustomProperties鍵。它有一個屬性Name。我使用下面的示例打開我的照片,它工作正常。

private void Form4_Load(object sender, EventArgs e) 
    { 
     button2_Click(null,null); 
    } 
    private void button2_Click(object sender, EventArgs e) 
    { 
     Process.Start("ms-photos://"); 
    } 
+0

是的,我確信......可是,這裏的東西 - 在我Form1_Load的(),它不會觸發的Process.Start ( 「Netflix的://」); (也不會觸發Process.Start(「ms-photos://」))。如果我在表單上放置一個按鈕,使用Process.Start(「netflix://」);在button1_click()方法中,使用button1_click(null,null);在Form1_Load()中,它不起作用,但手動點擊按鈕時工作。創建一個新的方法private void LaunchNetflix(){Process.Start(「netflix://」); }與LaunchNetflix();在Form1_Load()中也不會自動觸發它。 – jparnell8839

+0

好吧,我想出了問題......這是Visual Studio Community 2017 RC。在使用Visual Studio 2015 Community構建時,我在問題Process.Start(「netflix:\\」);'中發佈的相同代碼完美無瑕。我將不得不向VS隊提交反饋意見。謝謝您的幫助! – jparnell8839

+0

@ jparnell8839,很高興聽到您已經自己解決了您的問題,感謝您分享您的結果。 –

相關問題