如何等待一个进程结束???

问题描述

比如一个WinRAR进程在运行,该如何判断WinRAR进程是否结束,若WinRAR不结束则等待,直到WinRAR进程结束才继续下面的操作。谢谢

解决方案

解决方案二:

解决方案三:
System.Diagnostics.Processp=newSystem.Diagnostics.Process();p.StartInfo.FileName="mspaint";p.Start();p.WaitForExit();MessageBox.Show("");

解决方案四:
namespaceFileSystemWatcherExample{publicpartialclassForm1:Form{publicForm1(){InitializeComponent();}privatevoidbutton1_Click(objectsender,EventArgse){//CreateanewFileSystemWatcherandsetitsproperties.FileSystemWatcherwatcher=newFileSystemWatcher();watcher.Path="E:\Project\C#组件熟悉\窗体控件\FileSystemWatcherExample";/*WatchforchangesinLastAccessandLastWritetimes,andtherenamingoffilesordirectories.*/watcher.NotifyFilter=NotifyFilters.LastAccess|NotifyFilters.LastWrite|NotifyFilters.FileName|NotifyFilters.DirectoryName;//Onlywatchtextfiles.watcher.Filter="test.txt";//Addeventhandlers.watcher.Changed+=newFileSystemEventHandler(OnChanged);watcher.Created+=newFileSystemEventHandler(OnChanged);watcher.Deleted+=newFileSystemEventHandler(OnChanged);watcher.Renamed+=newRenamedEventHandler(OnRenamed);//Beginwatching.watcher.EnableRaisingEvents=true;//Waitfortheusertoquittheprogram.}//Definetheeventhandlers.privatestaticvoidOnChanged(objectsource,FileSystemEventArgse){//Specifywhatisdonewhenafileischanged,created,ordeleted.MessageBox.Show("File:"+e.FullPath+""+e.ChangeType);}privatestaticvoidOnRenamed(objectsource,RenamedEventArgse){//Specifywhatisdonewhenafileisrenamed.MessageBox.Show("File:"+e.OldFullPath+"renamedto"+e.FullPath);}}}
解决方案五:
sign

时间: 2024-11-01 22:42:53

如何等待一个进程结束???的相关文章

progress.report-c# 如何等待一个返回值为void的进度报告事件结束?

问题描述 c# 如何等待一个返回值为void的进度报告事件结束? 需求:progress.Report执行进度报告完成后,再执行其余的代码:问题:progress.Report的返回值是void,没法用await,怎么等待其结束? 解决方案 答案出来了: var task = Task<int>.Run(() => { int i = UpdateResult(dictionaryStockReal[stockCode]); return i; }); //报告一次进度后退出if(tas

Linux 等待进程结束 wait() 和 waitpid()详解

若子进程先于父进程结束时,父进程调用wait()函数和不调用wait()函数会产生两种不同的结果: --> 如果父进程没有调用wait()和waitpid()函数,子进程就会进入僵死状态. --> 如果父进程调用了wait()和waitpid()函数,就不会使子进程变为僵尸进程. 这是为什么呢?现在我们来深入学习wait()函数和waitpid()函数.  wait() 和 waitpid() 学习 1.首先我们先看一下它们的函数原型: 在终端输入命令:man 2 wait 就会看到它的函数原

结束进程-结束一个同名不同参数的进程

问题描述 结束一个同名不同参数的进程 如题,在C++中实现一个接口,来结束一个进程,a.exe,进程列表中有多个a.exe,他们的启动参数不一样,怎么结束其中指定那一个,或者获取到进程参数. 解决方案 这个进程是 rundll32.exe,不知道有没有使用的大神啊~~ 解决方案二: OpenProcess,然后ReadProcessMemory读取内存数据 http://blog.csdn.net/wonsoft/article/details/3091550 解决方案三: 这个结解决了,通过读

c# 怎么延时等待 一个耗时操作的返回

问题描述 点击按钮时调用一个耗时函数,会导致界面假死因为这个耗时函数是需要返回参数的,如果调用新进程去执行,怎么接收它的返回.这种情况要怎么处理,谢谢 解决方案 解决方案二:把接收到的返回值先放到一个全局变量里,然后在给线程结束注册个回调事件,线程结束了,主线程就调用这个事件,然后到全局变量里拿数据解决方案三:耗时函数应该另开个线程执行,可以写个委托来处理返回结果,用信号量或者静态变量也行.解决方案四:引用2楼china_ggd的回复: 耗时函数应该另开个线程执行,可以写个委托来处理返回结果,用

app-android 进程结束后如何收到广播

问题描述 android 进程结束后如何收到广播 想写一个闹钟,我设置好AlarmManager后 结束了进行 但是到时间后 却没有收到广播 为什么系统闹钟能够到点就收到广播. 并且有一个"生日管家"的app,我根本没有运行它 但是到了提醒的时候,他就能自动启动 请问这是怎么实现的 解决方案 如何解决App无法收到android开机广播 解决方案二: http://zhidao.baidu.com/link?url=HArKv5OET463Lv-6fjyb3uIo_p0hqoykt7H

一个进程写文件,一个进程读文件的问题

问题描述 有一个进程 A 每隔一段时间(时间很短)往文件 F 后面加写数据,另一个进程 B 从文件 F 读数据,如何使进程 B 读的速度小于进程 A ,又要使其效率尽量高? 问题补充:xiaoyuqi00 写道 解决方案 如何使进程 B 读的速度小于进程 A ,又要使其效率尽量高?换个角度你把文件中每个字节看成队列中的节点,A一直写,你可以想象成A是往队列里面加值.B一直读,你可以想象成B从队列中取值.这时候B只需要判断队列长度是否发生了变化,如果有变化那么B就应该取值了,通过判断文件长度来触发

怎样在Linux命令行下杀死一个进程

Linux 的命令行里面有用来停止正在运行的进程的所有所需工具.Jack Wallen 将为您讲述细节. 想像一下:你打开了一个程序(可能来自于你的桌面菜单或者命令行),然后开始使用这个程序,没想到程序会锁死.停止运行.或者意外死机.你尝试再次运行该程序,但是它反馈说原来的进程没有完全关闭. 你该怎么办?你要结束进程.但该如何做?不管你信与不信,最好的解决方法大都在命令行里.值得庆幸的是, Linux 有供用户杀死错误的进程的每个必要的工具,然而,你在执行杀死进程的命令之前,你首先需要知道进程是

asp.net 正由另一个进程,因此该进程无法访问此文件

问题描述 privatevoidDaochuEXCEl(DataTabledt){//根据模板文件创建副本stringfilePath=Server.MapPath("~/excel/Fuben.xls");File.Copy(Server.MapPath("~/excel/demo.xls"),filePath);//使用OleDb驱动程序连接到副本OleDbConnectionconn=newOleDbConnection("Provider=Micr

WINFORM应用,如何实现等待子线程结束的同时,主界面UI不卡,请高手出招,在线等..............

问题描述 WINFORM应用,如何实现等待子线程结束的同时,主界面UI不卡,请高手出招,在线等..............业务描述有以下耗时业务队列需要按顺序完成UI界面有按钮M,点击M,在处理函数YY中,需要执行以下任务队列{执行耗时业务A(提交给到线程)等待A完成处理结果执行耗时业务B(提交给到线程)等待B完成处理结果执行耗时业务c(提交给到线程)等待c完成处理结果...........}问题:在等待线程N结束的过程中,如何实现不卡UI?如果在函数YY中,直接使用ManualResetEve