2012-03-07 40 views
30

我有一個WPF C#應用程序,我必須傳遞命令行參數。該參數實際上是一個URL,我必須在我的應用程序中使用它?在C#應用程序中的命令行參數

這些命令行參數是如何在WPF C#中傳遞的,以便應用程序可以在啓動期間獲取URL?

+1

在http://msdn.microsoft.com/en-看看us/library/aa972153(v = vs.90).aspx或Google for WPF comm和行參數 – Joe 2012-03-07 11:20:59

+3

FWIW,谷歌搜索「wpf命令行參數」,前4個鏈接都是stackoverflow,包括這一個,這就是我在這裏登陸的方式。 – cdkMoose 2014-05-06 13:07:43

回答

55

在你App.xaml.cs

class App : Application 
{ 
    //Add this method override 
    protected override void OnStartup(StartupEventArgs e) 
    { 
     //e.Args is the string[] of command line argruments 
    } 
} 
+0

所以,這意味着我必須在App.xaml中執行此操作,而不是在MainWindow.xaml中執行此操作。是嗎? – Cipher 2012-03-07 11:21:58

+16

如果直接在MainWindow.xaml.cs中使用,那麼正如其他人所建議的一樣,Environment.GetCommandLineArgs() – linquize 2012-03-07 11:25:36

+0

是否有某種方法可以在Visual Studio中傳遞和檢查我的應用程序的命令行參數,而不是試圖激發應用程序從外面? – Cipher 2012-03-07 11:32:26

0

你可以傳遞參數,像 「無WPF」 C#通過comman行應用程序。 區別在於應用程序入口點。在WPF中是App.xaml.cs.所以,你必須在這個文件中,你可以選擇的參數以這樣的方式

class App : Application 
{ 
    protected override void OnStartup(StartupEventArgs e) 
    { 
     //e.Args represent string[] of no-wpf C# applications 
    } 
} 
26

已通過linquize上面提到的,但我認爲這是值得它自己的答案,因爲它是那麼簡單......

你可以使用:

string[] args = Environment.GetCommandLineArgs(); 

,在應用程序工作的任何地方,不只是在App.xaml.cs

相關問題