111,088
社区成员




//子进程启动信息设置
STARTUPINFO si = new STARTUPINFO();
si.cb = Marshal.SizeOf(si);
ProcessAPI.GetStartupInfo(out si);
si.wShowWindow = SW_SHOWNORMAL;
//si.dwFlags = STARTF_USESHOWWINDOW;
// 运行子进程并等待其结束
SECURITY_ATTRIBUTES sa = new SECURITY_ATTRIBUTES();
PROCESS_INFORMATION pi;
ProcessAPI.CreateProcess(
"../../../窗体/bin/debug/窗体.exe",
"", ref sa, ref sa, false, 0, new IntPtr(), null, ref si, out pi);
ProcessAPI.WaitForSingleObject(pi.hProcess, INFINITE);
// 获取子进程返回值
uint pdwExitCode;
bool flag = ProcessAPI.GetExitCodeProcess(pi.hProcess, out pdwExitCode);
ProcessAPI.CloseHandle(pi.hProcess);
if (flag)
{
Console.WriteLine("program exit with code {0}", pdwExitCode);
}
else
{
Console.WriteLine("Error: {0}", new System.ComponentModel.Win32Exception(Marshal.GetLastWin32Error()).Message);
}