简单双线程守护
1.定义一个全局句柄m_ hProcess, 用于存储另进程的句柄。
2.程序启动后,先枚举所有的进程列表,查看是否有另进程,如果有的话,通过OpenProcess得到其
进程句柄,存储在1中的变量中。
3.此时判断该句柄是否为NULL,不为NULL就用WaitForingIeobjct等待直到这个进程被终止, 并且再
把m_ hProcess置NULL。
4.接着3,创建另进程, 因为不论原来的另一进程被杀掉还是本来进程列表就没有此进程,都要创建
该进程。
5.创建另-进程句柄,然后等待其结束,如果结束了,重复2,3, 4。
void CProcWatchDlg::test()
{
ProcessList();
if(m_hProcess!=NULL)
{
WaitForSingleObject(m_hProcess,INFINITE);
m_hProcess=NULL;
}
CreateProcess();
}
void CProcWatchDlg::CreateProcess()
{
CreateProcess();
WaitForSingleObject(pi.hProcess,INFINITE);
test();
}
//枚举所有进程
void CProcWatchDlg::ProcessList()
{}