2016-05-02 33 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() 

代わりに使用してください。