怎么自己搭建一个网站,有源码如何搭建网站,网站建设需求模板,免费行情软件app网站mnw下载from: https://www.cnblogs.com/qqhfeng/p/4769524.html有能有时候我们启动了一个进程#xff0c;必须等到此进程执行完毕#xff0c;或是#xff0c;一段时间#xff0c;
关闭进程后再继续往下走。Example
sample1
等待应用程序执行完毕
//等待应用程序执行完毕private vo…from: https://www.cnblogs.com/qqhfeng/p/4769524.html有能有时候我们启动了一个进程必须等到此进程执行完毕或是一段时间
关闭进程后再继续往下走。Example
sample1
等待应用程序执行完毕
//等待应用程序执行完毕private void btnProcessIndefinitely_Click(object sender, EventArgs e) {//配置文件案路径string target System.IO.Path.Combine(Application.StartupPath,Test.txt);//取得完整绝对路径target System.IO.Path.GetFullPath(target);//启动进程Process p Process.Start(target);//让 Process 组件等候相关的进程进入闲置状态。 p.WaitForInputIdle();//执行的进程必须有UI如果没有UI则忽略这个//设定要等待相关的进程结束的时间并且阻止目前的线程执行直到等候时间耗尽或者进程已经结束为止。 p.WaitForExit();if (p ! null) {p.Close();p.Dispose();p null;}this.Close();}sample2
等待应用程序(7秒)
//等待应用程序(7秒)private void btnWaitProcessfor7_Click(object sender, EventArgs e) {//配置文件案路径string target System.IO.Path.Combine(Application.StartupPath, Test.txt);//取得完整绝对路径target System.IO.Path.GetFullPath(target);//启动进程Process p Process.Start(target);//让 Process 组件等候相关的进程进入闲置状态。 p.WaitForInputIdle();//设定要等待相关的进程结束的时间这边设定 7 秒。 p.WaitForExit(7000);//若应用程序在指定时间内关闭则 value.HasExited 为 true 。//若是等到指定时间到了都还没有关闭程序此时 value.HasExited 为 false则进入判断式if (!p.HasExited) {//测试进程是否还有响应if (p.Responding) {//关闭用户接口的进程p.CloseMainWindow();} else {//立即停止相关进程。意即进程没回应强制关闭p.Kill();}}if (p ! null) {p.Close();p.Dispose();p null;}this.Close();}sample3
使用多线程等候应用程序(7秒)
以上两种方法在等待进程完成时窗体画面会 lock 住无法重绘这边提供一个改善的方法
若有其他方法望前辈指导。//使用多线程等候应用程序(7秒)private void btnMultiThreadWaitProcess_Click(object sender, EventArgs e) {//建立线程对象Thread thread new Thread(new ThreadStart(StartProcess));//启动线程thread.Start();//等待线程处理完毕while (thread.ThreadState System.Threading.ThreadState.Running ||thread.ThreadState System.Threading.ThreadState.WaitSleepJoin) {Application.DoEvents();}this.Close(); }private void StartProcess() {//配置文件案路径string target System.IO.Path.Combine(Application.StartupPath, Test.txt);//取得完整绝对路径target System.IO.Path.GetFullPath(target);//启动进程Process p Process.Start(target);//让 Process 组件等候相关的进程进入闲置状态。 p.WaitForInputIdle();//设定要等待相关的进程结束的时间这边设定 7 秒。 p.WaitForExit(7000);//若应用程序在指定时间内关闭则 value.HasExited 为 true 。//若是等到指定时间到了都还没有关闭程序此时 value.HasExited 为 false则进入判断式if (!p.HasExited) {//测试进程是否还有响应if (p.Responding) {//关闭用户接口的进程p.CloseMainWindow();} else {//立即停止相关进程。意即进程没回应强制关闭p.Kill();}}if (p ! null) {p.Close();p.Dispose();p null;}}