Показать сообщение отдельно
  #1  
Старый 16.10.2013, 23:51
Flashton Flashton вне форума
Прохожий
 
Регистрация: 11.05.2010
Сообщения: 8
Репутация: 10
Вопрос Получение информации о выполняемых процессах

Здравствуйте. Делаю программу в Delphi XE2, которая выдаёт информацию о выполняющихся в данный момент процессах.
На форму добавил мемо-поле "Info" (в которое грузится информация) и кнопку "Button4", в которой разместил код с API-функцией.
На одном из компьютеров я запустил проект (нажал Run) через Delphi 7, он работал правильно (показал 23 процесса), но у меня и на других компьютерах скомпилированный XE2 exe-файл показывает, что выполняется 1 процесс (его имя не показывает). Почему так, подскажите, пожалуйста? Может это Delphi XE2 виноват?
Код:
procedure TForm1.Button4Click(Sender: TObject);
var
SH:Cardinal;
Num,I:Integer;
PPE:TProcessEntry32;
Full_Path:string;
begin
Num:=0;
SH:=CreateToolHelp32SnapShot(Th32cs_SnapAll, 0);
Process32First(SH,PPE);
Full_Path:=PPE.szExeFile;
Info.Text:=(Full_path);
Num:=Num+1;

while Process32Next(SH, PPE) do
  begin
  Full_Path:=PPE.szExeFile;
  Info.Lines.Add(Full_path);
  Num:=Num+1;
  end;
  CloseHandle(SH);

Info.Lines.Add('Число процессов: '+IntToStr(Num));
end;
Ответить с цитированием