How to use C ++ to obtain the absolute path of the process

DWORD GetProcessId(IN PCHAR szExeName)

{
DWORD dwRet = 0;
DWORD dwCount = 0;

HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);

if (hSnapshot != INVALID_HANDLE_VALUE)
{
PROCESSENTRY32 pe = {0};
pe.dwSize = sizeof(PROCESSENTRY32);

BOOL bRet = Process32First(hSnapshot, &pe);

while (BRET)
{
if (! _stricmp (pe.szExeFile, szExeName))
{
dwCount ++;
dwRet = pe.th32ProcessID;
}
BRET = Process32Next (hSnapshot, & on);
}

if (dwCount > 1)
dwRet = 0xFFFFFFFF;

CloseHandle(hSnapshot);
}

return dwRet;
}
DWORD ID = GetProcessId("notepad.exe");
GetModuleFileNameEx(ID, NULL, path, sizeof(path));

Guess you like

Origin www.cnblogs.com/blogpro/p/11446030.html