C# を介して引数を渡そうとする exe ファイルがあります。コードは次のとおりです
class Class1
{
static void Main()
{
string[] arg;
arg = new string[3];
Process p = new Process();
p.StartInfo.FileName = @"D:\xxx.exe";
for (int i = 0; i < 3; i++)
{
arg[i] = Console.ReadLine();
}
p.StartInfo.Arguments = arg[0] + " " + arg[1] + " " + arg[2];
p.Start();
}
}
コンソールを開き、そこに引数を書き込みます。3 つの引数を入力し終わるとすぐに、3 つの引数から文字列を作成し、文字列Process.Start()
内の引数を使用して呼び出しp.StartInfo.Arguments
ます。exe ファイルは読み込まれますが、出力は生成されません。奇妙なことに、コンピューターからexeファイルを開いてから書き込むと、
Arg1.txt Arg2.txt Arg3.txt
Enterキーを押して、exeファイルが出力を生成します。ただし、現在、同じスタイルの同じ引数が C# コードを介して渡されており、出力が生成されていません。私が間違っていることを理解していません。これについて StackOverflow には複数の質問がありますが、私は知っていますが、それらはすべて私がここで行ったことと同じ手順を示唆しています。私はまた、次のように引数を与えようとしました
p.StartInfo.Arguments = "\"arg[0]\"\"arg[1]\"\"arg[2]\"";
しかし、これも機能していません。