2012-03-07 16 views
30

Mam aplikację C# WPF, do której muszę przekazać argument wiersza poleceń. Argument jest właściwie adresem URL, który muszę następnie użyć w mojej aplikacji?Argumenty wiersza poleceń w aplikacji C#

W jaki sposób przekazywane są te argumenty wiersza poleceń w C# WPF, aby aplikacja mogła pobrać adres URL podczas uruchamiania?

+1

Spójrz na http://msdn.microsoft.com/en- us/library/aa972153 (v = vs.90) .aspx lub google dla komunikacji WPF i argumenty liniowe – Joe

+3

FWIW, szukanie w Google dla "argumentów linii poleceń wpf", 4 najlepsze łącza były do ​​stackoverflow, włączając ten, tak trafiłem tutaj. – cdkMoose

Odpowiedz

55

W swoim 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

Oznacza to, że będę musiał to zrobić w App.xaml, a nie w 'MainWindow.xaml' itd. Czy to prawda? – Cipher

+16

Jeśli użyjesz bezpośrednio w MainWindow.xaml.cs, to zgodnie z sugestią innych, Environment.GetCommandLineArgs() – linquize

+0

Czy istnieje sposób, aby przekazać i sprawdzić argumenty wiersza poleceń dla mojej aplikacji z poziomu Visual Studio i nie próbować uruchomić aplikacji z zewnątrz? – Cipher

0

można przekazywać argumenty jak "bez" C# WPF aplikacji poprzez comman linii. Różnica jest punktem wejścia aplikacji. W WPF jest App.xaml.cs. Tak, masz w tym pliku można odebrać argumenty w ten sposób:

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

to zostało wspomniane powyżej linquize, ale myślę, że warto to odpowiedź na własną rękę, ponieważ jest to tak proste ...

można po prostu użyć:

string[] args = Environment.GetCommandLineArgs(); 

to działa w dowolnym miejscu w aplikacji, nie tylko w App.xaml.cs

Powiązane problemy