Показать сообщение отдельно
  #2  
Старый 17.10.2013, 01:30
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Цитата:
Сообщение от Flashton
...Может это Delphi XE2 виноват?
Вполне вероятно, попробовал тоже этот код на D7 - работает правильно.

А если так
Код:
uses
 TlHelp32,Psapi;
procedure TForm1.Button4Click(Sender: TObject);
var
 PIDArray: array [0..1023] of DWORD;
 ModuleName: array [0..300] of char;
 cb: DWORD;
 i, ProcCount: integer;
 hMod: HMODULE;
 hProcess: THandle;
begin
 Info.Clear;
 EnumProcesses(@PIDArray, SizeOf(PIDArray), cb);
 ProcCount:= cb div SizeOf(DWORD);
 for i := 0 to ProcCount-1 do
  begin
   hProcess:= OpenProcess(PROCESS_QUERY_INFORMATION or PROCESS_VM_READ, False, PIDArray[i]);
   if (hProcess <> 0) then
    begin
     EnumProcessModules(hProcess, @hMod, SizeOf(hMod), cb);
     GetModuleFilenameEx(hProcess, hMod, ModuleName, SizeOf(ModuleName));
     Info.Lines.Add(ModuleName);
     CloseHandle(hProcess);
    end;
end;
 end;
Ответить с цитированием