如何统计自己的程序都加载了哪些DLL? 就像RUN程序时点击Ctrl+Alt+M显示的信息!!(100分)

  • 主题发起人 主题发起人 月冷无痕
  • 开始时间 开始时间

月冷无痕

Unregistered / Unconfirmed
GUEST, unregistred user!
//uses TLHelp32
//FHandle = ProcessID(进程ID)
procedure TProcessInfo.EnumModules(const AList: TStrings);
var
snap : THandle;
me32 : TMODULEENTRY32;
begin
if FHandle = 0 then
Exit;
snap := CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, FHandle);
if snap <> 0 then
try
me32.dwSize:= SizeOf(TMODULEENTRY32);
if Module32First(snap, me32) then
begin
while Module32Next(snap, me32) do
AList.Add(me32.szExePath);
end;
finally
CloseHandle(snap);
end;
end;
 
肥羊老兄我这样得到进程ID
FHandle := GetWindowThreadProcessId(form1.Handle);
然后调用 EnumModules函数,什么都得不到啊!
 
FHandle := GetWindowThreadProcessId(form1.Handle);
->
GetWindowThreadProcessId(form1.Handle, @FHandle);
 
肥羊老兄,多次受到过你的帮助,感激涕零啊! [:)]
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部