var pro = new Process();
pro.StartInfo.Arguments = filePath;//文件路径
pro.StartInfo.FileName = exePath;//exe路径
pro.StartInfo.UseShellExecute = false;
pro.StartInfo.RedirectStandardOutput = false;
pro.StartInfo.RedirectStandardInput = true;
pro.StartInfo.CreateNoWindow = false;
pro.Start();
采用指定exe打开特定文件的方式。
我项目中先打开了一个ptf后打开了一个word,在进程切换时,打开ptf文件进程的MainWindowHandle可以在Process.GetProcesses()中找到。
但是打开word进程文件的MainWindowHandle就在Process.GetProcesses()中找不到了,这怎么解决?为什么会出现这个问题?
在进程启动的过程中,我也遇到了大家都遇到过的问题,那就是pro.MainWindowHandle=0,这里的采用进程睡眠的方式等待它不为零时再继续执行。