如何判断进程是否结束?

我想判断一下一个应用程序是否结束,应该怎么实现?

下面是列举进程的

代码,改一下就形了,判断你要的进程在不再里面就行了  
      HANDLE   SnapShot=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);  
        if(SnapShot==NULL)  
        {  
          MessageBox("检测当前进程失败!");  
          return   FALSE;  
        }  
        SHFILEINFO   shSmall;  
        int   nIndex;  
        CString   str,prcnum;  
        PROCESSENTRY32   ProcessInfo;//声明进程信息变量  
        ProcessInfo.dwSize=sizeof(ProcessInfo);//设置ProcessInfo的大小  
        //返回系统中第一个进程的信息  
        BOOL   Status=Process32First(SnapShot,&ProcessInfo);  
        int   m_nProcess=0,num=0;  
        while(Status)  
        {  
          m_nProcess++;  
          num++;  
          //获取进程文件信息  
          SHGetFileInfo(ProcessInfo.szExeFile,0,&shSmall,  
            sizeof(shSmall),SHGFI_ICON|SHGFI_SMALLICON);  
          //在列表控件中添加映像名称  
          nIndex=m_list.InsertItem(m_nProcess,ProcessInfo.szExeFile);  
          //获取下一个进程的信息  
          Status=Process32Next(SnapShot,&ProcessInfo);  
        }  



定时器   调用   GetExitCodeProcess

二楼的

方法好像行不通了,CreateToolhelp32Snapshot函数好像能导致内存泄漏,如果放在一个循环里面肯定有问题,不知道怎么能解决这个问题,我需要在一个监视程序里面来判断另一程序是否启动,所以根据进程来判断,用上诉方法遍历进程,但是一会后就内存使用100%了。  
  不知道还有什么其他方法……



C#

Process.HasExited 属性

获取指示关联进程是否已终止的值。


转载于:https://www.cnblogs.com/kaixin110/archive/2007/08/07/846684.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值