如何findexe的path

我有一个服务(让我说myservice),它试图找出另一个应用程序的path(让我们说myapp.exe)。 myservice只知道应用程序的名称而不是完整的path。 我的代码如下:

HMODULE hModule = GetModuleHandle(TEXT("myapp.exe")); if( hModule == NULL ) { // error 126 return false; } int ret = GetModuleFileName(hModule, szBuffer, dwBufferSize); if( !ret ) { ....... return false; } 

GetModuleHandle总是返回126错误mod_not_found。 怎么能 ! 实现这个function。

谢谢,KM。

您需要使用EnumProcesses()枚举正在运行的进程,在每个进程ID上调用OpenProcess()GetmoduleeFileNameEx() ,直到找到您感兴趣的文件名,然后您将获得完整路径。