得到一个正在运行进程的 EXE 文件所在目录
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了得到一个正在运行进程的 EXE 文件所在目录相关的知识,希望对你有一定的参考价值。
以前总是获取当前进程所在的目录,用 GetModuleFileName 即可。
如何在一进程中获取另一进程的 EXE 文件所在目录呢?
步骤如下:
(1) 先用 Remote Process Viewer 工具看看进程的窗体名;
(2) 获取进程 ID;
(3) 用 GetModuleFileName() 获取目录。
示例代码如下:
1 HWND hMXNavi = ::FindWindow(NULL,L"MXNavi"); 2 TCHAR tcNaviPath[MAX_PATH]; 3 DWORD dwProcessID = 0; 4 HMODULE hModuleMXNavi; 5 6 7 if(NULL != hMXNavi) 8 { 9 GetWindowThreadProcessId(hMXNavi,&dwProcessID); 10 hModuleMXNavi = (HMODULE)OpenProcess(PROCESS_ALL_ACCESS,FALSE,dwProcessID); 11 GetModuleFileName(hModuleMXNavi,tcNaviPath,MAX_PATH); 12 RETAILMSG(1,(L"[ProcessCmdOneKeyNavi]Navi soft path: %s\r\n",tcNaviPath)); 13 } 14 else 15 { 16 }
以上是关于得到一个正在运行进程的 EXE 文件所在目录的主要内容,如果未能解决你的问题,请参考以下文章