您的位置:首页 > 其它

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

2011-05-24 09:35 253 查看
网上找的

下面是列举进程的
代码,改一下就形了,判断你要的进程在不再里面就行了
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 属性

获取指示关联进程是否已终止的值。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐