没有错误。没有例外。第二和第三产生一个文件f [1]/[2]。但不是第一次。为什么?我使用调试来验证命令是否正确。并使用从调试捕获的命令,剪切和过去命令行,我可以生成文件[f0]。C#运行过程奇怪的东西
string[] f = new string[4];
f[0] = "SNICKER.reg.txt";
f[1] = "SNDIS.reg.txt";
f[2] = "SNICS.reg.txt";
f[3] = "Ssmf.xml";
//First
Run_Process("REG", "EXPORT HKEY_LOCAL_MACHINE\\SOFTWARE\\sridge\\Snicker " + f[0] + " /y");
//Second
Run_Process("REG", "EXPORT HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\services\\SNDIS " + f[1] + " /y");
//Third
Run_Process("REG", "EXPORT HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\SClass " + f[2] + " /y");
private static void Run_Process(string exe_name, string arg)
{
Process myProcess = new Process();
try
{
myProcess.StartInfo.UseShellExecute = false;
myProcess.StartInfo.FileName = exe_name;
//myProcess.StartInfo.Arguments = "/C getLH.exe > feed.txt";
myProcess.StartInfo.Arguments = arg;
myProcess.StartInfo.CreateNoWindow = true;
myProcess.Start();
myProcess.WaitForExit();
}
catch (Exception ep)
{
Console.WriteLine(exe_name + " " + arg + ". Error: " + ep.Message);
}
}
添加进程返回代码也很有帮助:Console.WriteLine(“Process exit code:{0} “, myProcess.ExitCode); – aquaraga 2013-04-26 20:09:11
您的程序是否为AnyCPU或x86编译? – Steve 2013-04-26 20:10:04
@Steve:AnyCPU – 2013-04-26 20:20:07