27. FAQ o Win API

Q> Имеется PID процесса,как узнать имя "process executable"?
A>

#include <psapi.h>
#pragma comment(lib,"psapi.lib")
//psapi.h,lib,dll есть в VC5 и VC6

   HANDLE  hProc;
   char    szProcessName [80];
   HMODULE ahMod [10];
   DWORD   dwNeeded;

   hProc = OpenProcess (PROCESS_QUERY_INFORMATION|PROCESS_VM_READ,
                        FALSE,
                        PID); // PID должен быть обьявлен как DWORD
   if (hProc)
   {
      if (EnumProcessModules (hProc,
                              ahMod,
                              sizeof(ahMod),
                              &dwNeeded))
      {
         if (GetModuleBaseName (hProc,
                                ahMod[0],
                                szProcessName,
                                sizeof(szProcessName)))
         {
            <success>
         }
         else
         {
            <failure>
         }
      }
      CloseHandle (hProc);
   }
}

2000(c)

Электронные Книги по компьютерным программам
На правах рекламы:
Регистрация. | Забыли пароль?
Логин
Пароль
Запомнить меня