Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.25;
Скачать: CL | DM;

Вниз

Process32First, Process32Next...   Найти похожие ветки 

 
Леприкон ©   (2004-03-04 10:28) [0]

function ProcessWalk(SG:TStringGrid):boolean;
label EndLabel;
var hSnapShot,
   hSnapModule,
   hProcess:THandle;
   lppe:PROCESSENTRY32;
   lpme:MODULEENTRY32;
begin
 Result:=false;
 SG.RowCount:=2;
 SG.FixedRows:=1;
 SG.ColCount:=7;
 SG.FixedCols:=1;
 hSnapShot:=CreateToolHelp32SnapShot(TH32CS_SNAPPROCESS,0);
 if Process32First(hSnapShot,lppe) then
   begin
     //SG.Cells[0,SG.RowCount-1]:=IntToStr(SG.RowCount-1);
     SG.Cells[1,SG.RowCount-1]:=lppe.szExeFile;
     SG.Cells[3,SG.RowCount-1]:=IntToStr(lppe.th32ProcessID);
     SG.Cells[4,SG.RowCount-1]:=IntToStr(lppe.th32ParentProcessID);
     SG.Cells[5,SG.RowCount-1]:=IntToStr(lppe.cntThreads);
     SG.Cells[6,SG.RowCount-1]:="running";
   end
 else
   Goto EndLabel;

 while Process32Next(hSnapShot,lppe) do
   begin
     SG.RowCount:=SG.RowCount+1;
     SG.Cells[0,SG.RowCount-1]:=IntToStr(SG.RowCount-1);
     SG.Cells[1,SG.RowCount-1]:=lppe.szExeFile;

     hSnapModule:=CreateToolHelp32SnapShot(TH32CS_SNAPMODULE,lppe.th32ProcessID);
     if Module32First(hSnapModule,lpme) then
       SG.Cells[2,SG.RowCount-1]:=lpme.szExePath
     else
       SG.Cells[2,SG.RowCount-1]:="unknown";
     CloseHandle(hSnapModule);

     SG.Cells[3,SG.RowCount-1]:=IntToStr(lppe.th32ProcessID);
     SG.Cells[4,SG.RowCount-1]:=IntToStr(lppe.th32ParentProcessID);
     SG.Cells[5,SG.RowCount-1]:=IntToStr(lppe.cntThreads);
     SG.Cells[6,SG.RowCount-1]:="running";
   end;
 Result:=true;
EndLabel:
 CloseHandle(hSnapShot);
end;


Почему, если открыть закоментированную строку, то функция не работает?


 
Kerk ©   (2004-03-04 12:03) [1]

Дело не в той строке, IMHO
Установи в самом начале размер структуры, вроде этого:
lppe.size := sizeof(lppe);


 
Леприкон ©   (2004-03-04 13:26) [2]


> Kerk ©   (04.03.04 12:03) [1]

Ты прав, забыл. Руки мне оторвать. :))
lppe.dwSize:=SizeOf(lppe);
lpme.dwSize:=SizeOf(lpme); вернуло всё к жизни.
Спасибо.



Страницы: 1 вся ветка

Текущий архив: 2004.04.25;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.023 c
6-1077394335
denkop
2004-02-21 23:12
2004.04.25
while ... do Socket.Open; Socket.SendText( hello world );


6-1077882441
ALeX.B.
2004-02-27 14:47
2004.04.25
Как ускорить работу ICMP из ICS(KOL)?


1-1081362443
jiuraf
2004-04-07 22:27
2004.04.25
Проблема с RichEdit


3-1080504992
Onward
2004-03-29 00:16
2004.04.25
Как раскрыть DBComboBox с данными...


1-1081250493
Эли
2004-04-06 15:21
2004.04.25
Цвет выделенного текста и шрифта в Memo