// DemoTest.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
using namespace std;
enum PROCESS_RESULT{
PROCESS_NORMAL_END, //正常退出
PROCESS_ABNORMAL_END, //异常退出
PROCESS_UNKNOWN_END, //未知错误
};
//监听某个进程是否结束
PROCESS_RESULT ListenSingleProcessFinish(HANDLE hHandle)
{
std::cout << "开始监听" << std::endl;
DWORD wait_result =::WaitForSingleObject(hHandle,INFINITE);
if (wait_result == WAIT_OBJECT_0 + 1)
{
cout << "正常退出" << endl;
return PROCESS_NORMAL_END;
}
else if (wait_result == WAIT_OBJECT_0)
{
cout << "异常退出" << endl;
return PROCESS_ABNORMAL_END;
}
else{
return PROCESS_UNKNOWN_END;
}
}
int _tmain(int argc, _TCHAR* argv[])
{
HANDLE hhanld = OpenProcess(PROCESS_ALL_ACCESS,NULL,15232); //获取进程句柄
if (hhanld !=NULL)
{
ListenSingleProcessFinish(hhanld);
}
system("pause");
return 0;
}
C++ 判断进程是否退出 代码封装
最新推荐文章于 2024-08-06 10:28:38 发布