bool CUtility::isActiveProcess(CString szProcessName)
{
HANDLE hProcessSnap = NULL;
bool bRet = false;
PROCESSENTRY32 pe32 = {0};
hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
if(hProcessSnap == (HANDLE) - 1)
return false;
pe32.dwSize = sizeof(PROCESSENTRY32);
if(Process32First(hProcessSnap, &pe32))
{
bool bCurrent = false;
MODULEENTRY32 me32 = {0};
do
{
bCurrent = getProcessModule(pe32.th32ProcessID, szProcessName);
if(bCurrent || szProcessName == pe32.szExeFile)
{
// HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, false, pe32.th32ProcessID);
// if(hProcess)
// {
// if(TerminateProcess(hProcess, 0))
// {
// unsigned long nCode;
// GetExitCodeProcess(hProcess, &nCode);
// }
// CloseHandle(hProcess);
// }
CloseHandle(hProcessSnap);
return true;
}
} while (Process32Next(hProcessSnap, &pe32));
}
CloseHandle(hProcessSnap);
return false;
}