请问如何在Win9x下获取系统中进程的全路径?

asdyzy 2003-08-22 01:45:54
请问如何在Win9x下获取系统中进程的全路径?
...全文
25 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zzqzzq 2003-08-22
  • 打赏
  • 举报
回复
改GetParentPath为GetProcessPath,上述方法在Win98有效。
zzqzzq 2003-08-22
  • 打赏
  • 举报
回复
获取当前进程的全路径:
char ProcessPath[128];
::GetCurrentDirectory(128,ProcessPath);
知道进程ID,获取进程的全路径:
void GetParentPath(DWORD ProcessID,CString ProcessPath)
{
HANDLE hSnapShot=CreateToolhelp32Snapshot(TH32CS_SNAPALL,NULL);
PROCESSENTRY32 pEntry;
pEntry.dwSize =sizeof(pEntry);
BOOL hRes=Process32First(hSnapShot,&pEntry);
while(hRes)
{
if(ProcessID==pEntry.th32ParentProcessID)
ProcessPath = pEntry.szExeFile;
hRes=Process32Next(hSnapShot,&pEntry);
}
}
知道进程句柄,获取进程的全路径:
void GetParentPath(HANDLE handle,CString ProcessPath)
{
HANDLE hSnapShot=CreateToolhelp32Snapshot(TH32CS_SNAPALL,NULL);
PROCESSENTRY32 pEntry;
pEntry.dwSize =sizeof(pEntry);
BOOL hRes=Process32First(hSnapShot,&pEntry);
while(hRes)
{
if(handle==
OpenProcess(PROCESS_ALL_ACCESS,FALSE,pEntry.th32ParentProcessID))
ProcessPath = pEntry.szExeFile;
hRes=Process32Next(hSnapShot,&pEntry);
}
}

wxfjb 2003-08-22
  • 打赏
  • 举报
回复
GetModuleFileName
思危 2003-08-22
  • 打赏
  • 举报
回复
TCHAR szPath[MAX_PATH];
GetModuleFileName(AfxGetInstanceHandle(), szPath, MAX_PATH);
//szPath为路径
思危 2003-08-22
  • 打赏
  • 举报
回复
GetModuleFileName

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧