1

自分のプロセスから生成されたプロセスに文字列引数を渡す方法はありますか?

私のメインアプリケーションには次のものがあります。

Process.Start(Path.Combine(Application.StartupPath, "wow.exe");

wow.exe私が作成した別のアプリです。このexe(文字列)に引数を渡す必要があります。通常、これをどのように達成できますか?

私が試したこと:

 ProcessStartInfo i = new //........
 i.Argument = "cool string";
 i. FileName = Path.Combine(Application.StartupPath, "wow.exe");
 Process.Start(i);

そして、wowアプリケーションのメインで私は書いた:

static void Main()
{
    //print Process.GetCurrentProcess().StartInfo.Argument;
}

しかし、2番目のアプリケーションのメインで文字列を取得することはありません。ここに尋ねる質問がありますが、 ..はwhyありません。how to solve it

編集: Environment.GetCommandLineArgs()[1]、それはする必要があります。それにもかかわらず、それを機能させました。@Baliが最初にこの回答を思いついたので、@Baliの回答を受け入れました。皆さんありがとう

4

4 に答える 4

2

渡された引数を取得するには、 で を使用するか、string[] argsMain使用できますEnvironment.GetCommandLineArgs

例:

Console.WriteLine(args[0]);

また

Console.WriteLine(Environment.GetCommandLineArgs[0]);
于 2012-05-21T09:04:38.137 に答える
2

以下は、exe に渡された引数を取得する方法の例です。

static void Main()
{
   string[] args = Environment.GetCommandLineArgs();

   string firstArgument = args[0];
   string secondArgument = args[1];
}

またはあなたの主な方法を少し変更してください:

static void Main(string []args)
{}
于 2012-05-21T09:05:08.143 に答える
2

あなたはおそらく

static void Main(string[] args)
{
}

args渡した引数が含まれている場所

于 2012-05-21T09:05:23.257 に答える
1

あなたのwow.exeprogram.csで

static void Main()
{
     //Three Lines of code 
}

に変更します

static void Main(string[] args)
{
     //Three Lines of code 
}

string[] args.これで、exeに渡された引数が含まれます。

またはあなたは使用することができます

string[] arguments = Environment.GetCommandLineArgs();

あなたの議論はスペースによって壊されます" "

于 2012-05-21T09:01:30.643 に答える