|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Получение информации о выполняемых процессах
Здравствуйте. Делаю программу в 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; |