如何找到exe的路径

时间:2013-09-26 01:20:04

标签: c++ windows

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

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。怎么能 !实现这一功能。

谢谢, KM。

1 个答案:

答案 0 :(得分:2)

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