我有一个服务(让我说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()
,直到找到您感兴趣的文件名,然后您将获得完整路径。