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;
 }

Posted by 명혀니
,