2011-12-09 7 views
2

C++を使用して別のプロセスの名前を知っているモジュールのハンドルを取得する方法はありますか?
GetModuleHandleGetModuleHandleExは、同じプロセスからハンドルを取得するのに適しています。他のプロセスからモジュールハンドルを取得する

+0

CreateToolhelp32Snapshot + Module32First /次 –

+0

http://stackoverflow.com/questions/865152/how-can-i-get-a-process-handle-by-its-name-inの答えがあります前の投稿の-c –

答えて

1

あなたはReadProcessMemoryPEB_LDR_DATA

typedef struct _PEB_LDR_DATA { 
    BYTE  Reserved1[8]; 
    PVOID  Reserved2[3]; 
    LIST_ENTRY InMemoryOrderModuleList; 
} PEB_LDR_DATA, *PPEB_LDR_DATA; 

LIST_ENTRYは、DLLがロードされた場所のあなたのdllの名前とベースア​​ドレスが含まれているリンクリストで使用することができます。

typedef struct _LDR_DATA_TABLE_ENTRY { 
    PVOID Reserved1[2]; 
    LIST_ENTRY InMemoryOrderLinks; 
    PVOID Reserved2[2]; 
    PVOID DllBase; 
    PVOID EntryPoint; 
    PVOID Reserved3; 
    UNICODE_STRING FullDllName; 
    BYTE Reserved4[8]; 
    PVOID Reserved5[3]; 
    union { 
     ULONG CheckSum; 
     PVOID Reserved6; 
    }; 
    ULONG TimeDateStamp; 
} LDR_DATA_TABLE_ENTRY, *PLDR_DATA_TABLE_ENTRY; 
関連する問題