CString getProcPath(int PID)
{
HANDLE hProcess=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
HANDLE hModule;
PROCESSENTRY32* pinfo=new PROCESSENTRY32;
MODULEENTRY32* minfo=new MODULEENTRY32;
pinfo->dwSize=sizeof(PROCESSENTRY32);
minfo->dwSize=sizeof(MODULEENTRY32);
//BOOL report;
char shortpath[MAX_PATH] = "";
//printf("ShowProcessPath with [ToolHelp API]\n\n");
//report=Process32First(hProcess,pinfo);
//while(report)
hModule=CreateToolhelp32Snapshot(TH32CS_SNAPMODULE,PID);//pinfo->th32ProcessID);
Module32First(hModule, minfo);
//GetShortPathName(minfo->szExePath,shortpath,256);
//printf("%s --- %s\n",pinfo->szExeFile,shortpath);
CString str;
str.Format("%s",minfo->szExePath);
//report=Process32Next(hProcess, pinfo);
CloseHandle(hProcess);
CloseHandle(hModule);
if(pinfo) delete pinfo;
if(minfo) delete minfo;
//printf("\n");
return str;
}
{
HANDLE hProcess=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
HANDLE hModule;
PROCESSENTRY32* pinfo=new PROCESSENTRY32;
MODULEENTRY32* minfo=new MODULEENTRY32;
pinfo->dwSize=sizeof(PROCESSENTRY32);
minfo->dwSize=sizeof(MODULEENTRY32);
//BOOL report;
char shortpath[MAX_PATH] = "";
//printf("ShowProcessPath with [ToolHelp API]\n\n");
//report=Process32First(hProcess,pinfo);
//while(report)
hModule=CreateToolhelp32Snapshot(TH32CS_SNAPMODULE,PID);//pinfo->th32ProcessID);
Module32First(hModule, minfo);
//GetShortPathName(minfo->szExePath,shortpath,256);
//printf("%s --- %s\n",pinfo->szExeFile,shortpath);
CString str;
str.Format("%s",minfo->szExePath);
//report=Process32Next(hProcess, pinfo);
CloseHandle(hProcess);
CloseHandle(hModule);
if(pinfo) delete pinfo;
if(minfo) delete minfo;
//printf("\n");
return str;
}