含头文件:
#include "tlhelp32.h"
CreateToolhelp32Snapshot函数为指定的进程、进程使用的堆[HEAP]、模块[MODULE]、线程[THREAD])建立一个快照[snapshot]。
示例:
CString strName = "***";
HANDLE hProcessSnap=NULL;
PROCESSENTRY32 pe32={0};
hProcessSnap=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
if(hProcessSnap==(HANDLE)-1)
{
::MessageBox(NULL,"查询进程失败!:(","错误提示",MB_OK);
return FALSE;
}
pe32.dwSize=sizeof(PROCESSENTRY32);
if(Process32First(hProcessSnap,&pe32))
{
do
{
if(strName == pe32.szExeFile) //
{
count++;
if (count >= 2)
{
AfxMessageBox("应用程序已经运行!");
return FALSE;
}
}
}
while(Process32Next(hProcessSnap,&pe32));
}
else
{
::MessageBox(NULL,"出现意外错误!","错误提示",MB_OK);
return FALSE;
}
CloseHandle(hProcessSnap);