2012-03-07 21 views
30

Ho un'applicazione C# WPF, a cui devo passare l'argomento della riga di comando. L'argomento è in realtà un URL, che devo quindi utilizzare nella mia applicazione?Argomenti della riga di comando nell'applicazione C#

Come vengono passati questi argomenti della riga di comando in C# WPF, in modo che l'applicazione possa prelevare l'url durante l'avvio?

+1

Date un'occhiata a http://msdn.microsoft.com/en- us/library/aa972153 (v = vs.90) .aspx o google per WPF comm e gli argomenti di linea – Joe

+3

FWIW, cercando su google "argomenti da riga di comando wpf", i primi 4 link erano tutti in stackoverflow, incluso questo, ecco come sono arrivato qui. – cdkMoose

risposta

55

Nei tuoi 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

Quindi, questo significa che dovrò farlo in App.xaml e non in 'MainWindow.xaml' ecc. È vero? – Cipher

+16

Se si utilizza direttamente in MainWindow.xaml.cs, come suggerito da altri, Environment.GetCommandLineArgs() – linquize

+0

Esiste un modo per passare e controllare gli argomenti della riga di comando per la mia applicazione da Visual Studio e non provare a rilasciare l'applicazione da fuori? – Cipher

0

è possibile passare argomenti come "no-WPF" applicazioni C# attraverso la linea comman. La differenza è il punto di ingresso dell'applicazione. In WPF è App.xaml.cs. Quindi, si ha in questo file si può scegliere gli argomenti in questo modo:

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

E 'stato citato da linquize sopra, ma penso che vale la pena di una risposta a sé stante, in quanto è così semplice ...

Si può semplicemente utilizzare:

string[] args = Environment.GetCommandLineArgs(); 

che funziona in qualsiasi punto dell'applicazione, non solo in App.xaml.cs

Problemi correlati