Здравствуйте. Делаю программу в Delphi XE2, которая выдаёт информацию о выполняющихся в данный момент процессах.
На форму добавил мемо-поле "Info" (в которое грузится информация) и кнопку "Button4", в которой разместил код с API-функцией.
На одном из компьютеров я запустил проект (нажал Run) через Delphi 7, он работал правильно (показал 23 процесса), но у меня и на других компьютерах скомпилированный XE2 exe-файл показывает, что выполняется 1 процесс (его имя не показывает). Почему так, подскажите, пожалуйста? Может это Delphi XE2 виноват?
Код:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | 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 ;
|