2013-02-13 62 views
0

我有一個WPF C#項目,我想只通過查看他們的快捷傳遞一些啓動在我見過的其他程序員做的方式信息在快捷方式將信息傳遞給一個C#的.exe

所以抄近路我所看到的是:

X:\將Test.exe /主機= [服務器位置]/例如= 0/COID =%COID /用戶id =%OPER

我瞭解正在通過的內容,但我希望瞭解C#項目是如何進行的,在大膽的信息,我想給它分配一個字符串等

我試圖谷歌的信息,但我不知道叫什麼話題

任何幫助 - 即使是不這樣做也不會有幫助

+0

你確定這不是**/COID =%COID%/用戶id =%OPER%**? – Clemens 2013-02-13 11:03:36

+1

這將被稱爲命令行參數或通過參數這裏是你可以閱讀[如何處理命令行ParamspWPF](http://www.rhyous.com/2010/02/19/how-to -process-command-line-parameters-or-arguments-in-a-wpf-application /) – MethodMan 2013-02-13 11:04:09

回答

2

請參閱MSDN上的Command Line Parameters Tutorial

應用程序有一個入口點,在這種情況下是public static void Main(string[] args)args參數包含按空間分割的命令行參數。

編輯:我的壞,不知道WPF是討厭的。看看這裏:WPF: Supporting command line arguments and file extensions

protected override void OnStartup(StartupEventArgs e) 
{ 
    if (e.Args != null && e.Args.Count() > 0) 
    { 
     this.Properties["ArbitraryArgName"] = e.Args[0]; 
    } 

    base.OnStartup(e); 
} 
0

您可以

string[] paramz = Environment.GetCommandLineArgs(); 
+0

在這種情況下,參數必須用空格分隔,'paramz [0]'將包含可執行文件的名稱。 – StaWho 2013-02-13 11:11:01

0

檢索命令行參數爲string[]在這個例子中,該程序需要在運行時一個參數,參數將轉換爲整數,並計算該數字的階乘。如果沒有提供參數,程序會發出解釋程序正確用法的消息。

public class Functions 
    { 
     public static long Factorial(int n) 
     { 
      if (n < 0) { return -1; } //error result - undefined 
      if (n > 256) { return -2; } //error result - input is too big 

      if (n == 0) { return 1; } 

      // Calculate the factorial iteratively rather than recursively: 

      long tempResult = 1; 
      for (int i = 1; i <= n; i++) 
      { 
       tempResult *= i; 
      } 
      return tempResult; 
     } 
} 

class MainClass 
{ 
    static int Main(string[] args) 
    { 
     // Test if input arguments were supplied: 
     if (args.Length == 0) 
     { 
      System.Console.WriteLine("Please enter a numeric argument."); 
      System.Console.WriteLine("Usage: Factorial <num>"); 
      return 1; 
     } 

     try 
     { 
      // Convert the input arguments to numbers: 
      int num = int.Parse(args[0]); 

      System.Console.WriteLine("The Factorial of {0} is {1}.", num, Functions.Factorial(num)); 
      return 0; 
     } 
     catch (System.FormatException) 
     { 
      System.Console.WriteLine("Please enter a numeric argument."); 
      System.Console.WriteLine("Usage: Factorial <num>"); 
      return 1; 
     } 
    } 
} 

輸出將被The Factorial of 3 is 6.而這個應用程序的使用就像Factorial.exe <num>