2

別のアプリケーション(myapp.exeとしましょう)のパスを見つけようとするサービス(myserviceとしましょう)があります。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

EnumProcesses()、呼び出しOpenProcess()、および各プロセス IDを使用して、実行中のプロセスを列挙しGetModuleFileNameEx()、関心のあるファイル名が見つかるまで、そのフル パスを取得する必要があります。

于 2013-09-26T02:30:57.647 に答える