2011-09-17 6 views
1

Imを介して処理していますが、Windows上のC++でモジュールのモジュールハンドルを取得しようとしています。
私の問題は、モジュールのベースアドレスとファイルハンドルしか持っていませんが、GetModuleHandleはその名前だけをパラメータとして受け取ることです。
WindowsのC++で、モジュール名をknockingせずにモジュールハンドルを取得する方法はありますか?モジュールがベースアドレス

+5

ベースアドレス*はモジュールハンドルです。単にHMODULEにキャストしてください。 x86およびx64バージョンのWindowsで動作します。 –

+1

どのようにファイルハンドルとベースア​​ドレスを持っていますか?それはまったく意味がありません。 Hansは正しく、ベースアドレス==モジュールハンドルです。 –

答えて

3

あなたがGetModuleHandleEx(GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS | GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT, (LPCTSTR)lpBaseAddress, &module)を使用してみましたか?

1

WindowsXP以降を使用する場合は、GetModuleHandleExを使用してください。 Windows2000のような以前のバージョンのWindowsの場合は、このページの下部にあるコメントを確認し、この機能は使用できませんが、別の解決策があります:http://msdn.microsoft.com/en-us/library/ms683200(v=VS.85).aspx

関連する問題