주어진 프로세스 ID에 해당하는 프로세스가 로드하고 있는 모듈들의 목록을 구하는 함수의 소스입니다.
참고하세요.
//-----------------------------------------------------------------------
// 주어진 프로세스 ID에 해당하는 프로세스가 로드하고 있는 모듈 목록을 구한다.
//-----------------------------------------------------------------------
procedure EnumModules(const AProcessID: THandle; const AStrings: TStrings);
var
Snapshot: THandle;
ModuleEntry: TModuleEntry32;
NextModule: BOOL;
ModuleName: string;
begin
Snapshot := CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, AProcessID);
try
if Snapshot = INVALID_HANDLE_VALUE then
begin
Exit;
end;
ModuleEntry.dwSize := sizeof(TModuleEntry32);
NextModule := Module32First(Snapshot, ModuleEntry);
while NextModule do
begin
ModuleName := GetLongFileName(ModuleEntry.szExePath);
AStrings.Add(ModuleName);
NextModule := Module32Next(Snapshot, ModuleEntry);
end;
finally
CloseHandle(Snapshot);
end;
end;
출처 : Delmadang