;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
;从一个进程的PID枚举其加载的dll,返回一个MODULEENTRY32结构
;入口参数:进程PID
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
EunmProcess proc PID:LPSTR
local ModuleEntry32:MODULEENTRY32
local sfi:SHFILEINFO
local ModulePID
invoke RtlZeroMemory,addr ModuleEntry32,sizeof ModuleEntry32;清空内存
mov ModuleEntry32.dwSize,sizeof ModuleEntry32
invoke CreateToolhelp32Snapshot,TH32CS_SNAPMODULE,PID
mov hModuleSnap,eax
invoke Module32First,hModuleSnap,addr ModuleEntry32
.if eax!=NULL
.while eax
;invoke SHGetFileInfo,addr ModuleEntry32.szExePath, FILE_ATTRIBUTE_NORMAL,addr sfi,sizeof SHFILEINFO ,\
;SHGFI_USEFILEATTRIBUTES or SHGFI_DISPLAYNAME or SHGFI_ICON or SHGFI_SMALLICON
push ModuleEntry32.th32ModuleID
pop ModulePID ;得到ModuleID
invoke Module32Next,hModuleSnap,addr ModuleEntry32
.endw
.endif
ret
EunmProcess endp