使用跨进程的 EventWaitHandle ,类似这样:
申明 EventWaitHandle wh = new EventWaitHandle(false,EventResetMode.Auto,"ExternalProcess.WaitEventName");
winform 主线程创建进程 A 后
wh.WaitOne(); //阻止当前线程并等待 A 返回
A 进程启动后,先申明作同样的等待句柄申明:
EventWaitHandle wh = new EventWaitHandle(false,EventResetMode.Auto,"ExternalProcess.WaitEventName");
DoWork(); // A 进程做了一些工作;
wh.Set(); // A 进程做完了工作后,将等待句柄设为终止,运行 winform 创建主线程继续运行。
典型的队列Queue可以解决,进程退出时,执行下一个。
1. exe的文件名字都放入队列;
2.启动进程操作,进程退出,exe出队
3.队列里没了就OK了