2

我有一个服务(比如 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。

4

1 回答 1

2

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

于 2013-09-26T02:30:57.647 回答