2016-05-02 96 views
0

我將一些WPF應用程序的參數傳遞給這樣的WinForm應用程序。傳遞參數爲空

int processID = Process.GetCurrentProcess().Id; 

Process p = new Process(); 
p.StartInfo.FileName = FileManager.AppDirectoryName + "\\" + winformApp; 
p.StartInfo.Arguments = string.Format("Param1={0}", processID); 
p.Start(); 

但在其他應用程序中,我看不到任何參數。

[STAThread] 
static void Main() 
{ 
// Get start arguments 
var process = Process.GetCurrentProcess(); 
var args = process.StartInfo.Arguments; // It is empty. Why is it?? 

任何線索?

+1

嘗試使用'var args = Environment.GetCommandLineArgs()' –

+2

Derp,nm,我正在考慮控制檯。不理我。不'static void main()'通常有一個'string [] args'參數? – jleach

回答

3
Process.GetCurrentProcess() 

返回

與運行調用應用程序的處理資源相關聯的一個新的流程組件。

這個新組件將有一個空的startinfo成員。只需使用

Environment.GetCommandLineArgs() 

取而代之。