我尝试使用以下代码以pragrammatically方式运行notepad.exe和Calc.exe等应用程序。我可以看到应用程序在Process Exprorer中激活,但应用程序UI没有出现在屏幕上。我在进程p中得到了这个信息 - “进程必须在确定请求的信息之前退出”并且exitcode是1200,5084等。有什么问题?谢谢!
代码 -
ProcessStartInfo pInfo = new ProcessStartInfo(@"C:\Windows\system32\notepad.exe");
pInfo.UseShellExecute = false;
pInfo.CreateNoWindow = false;
pInfo.WindowStyle = ProcessWindowStyle.Normal;
Process p = Process.Start(pInfo);
p.EnableRaisingEvents = true;
int exitCode = p.Id;
p.WaitForExit();
p.Close();
答案 0 :(得分:2)
哎呀编辑试试这个:
Process p = Process.Start(pInfo);
p.EnableRaisingEvents = true;
p.WaitForExit();
int exitCode = p.ExitCode;
p.Close();
答案 1 :(得分:2)
Id
和ExitCode
之间存在误解。您的代码假定进程ID是退出代码而不是(您的“退出代码”是进程ID)。
试试这段代码:
ProcessStartInfo pInfo = new ProcessStartInfo(@"C:\Windows\system32\notepad.exe");
pInfo.UseShellExecute = false;
pInfo.CreateNoWindow = false;
pInfo.WindowStyle = ProcessWindowStyle.Normal;
Process p = Process.Start(pInfo);
p.EnableRaisingEvents = true;
p.WaitForExit();
int exitCode = p.ExitCode;
p.Close();