Вниз
Скачать: CL | DM;

Как получить ID-шники нитей (Threads) процесса ?   Найти похожие ветки 

 
Phantomaz   (2004-01-10 16:44) [0]

Как получить ID-шники нитей (Threads) процесса,
если известен его ID (ProcessID) ?


 
YuRock ©   (2004-01-10 16:55) [1]

Thread32First/Thread32Next


 
Burmistroff   (2004-01-10 16:57) [2]

OpenProcess, а дальше - NtQuerySystemInformation.

Либо (что значительно проще):
(ex - массив DWORD"ов)

var
 SnapProcHandle: THandle;
 ThreadEntry: TThreadEntry32;
 Next: Boolean;
begin
 try
   ex[0]:=0;
   SnapProcHandle := CreateToolhelp32Snapshot(TH32CS_SNAPTHREAD, 0);
   if SnapProcHandle <> THandle(-1) then
   begin
     ThreadEntry.dwSize := Sizeof(ThreadEntry);
     Next := Thread32First(SnapProcHandle, ThreadEntry);
     while Next do
     begin
       if ThreadEntry.th32OwnerProcessID = ProcessID then
         begin
           ex[0]:=ex[0]+1;
           ex[ex[0]]:=ThreadEntry.th32ThreadID;
         end;
       Next := Thread32Next(SnapProcHandle, ThreadEntry);
     end;
     CloseHandle(SnapProcHandle);
   end;
 finally
 end;
end;


 
VMcL ©   (2004-01-11 04:12) [3]

>>Burmistroff  (10.01.04 16:57) [2]

Замечание: Win 2000 or higher.


 
VMcL ©   (2004-01-11 04:17) [4]

VMcL ©  (11.01.04 04:12) [3] относится к NtQuerySystemInformation.


 
Phantomaz   (2004-01-11 13:56) [5]

Спасибо !



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.023 c
1-1078821663
sgrib
2004-03-09 11:41
2004.03.28
Проблема с установкой Delphi5


14-1077866031
Daemys
2004-02-27 10:13
2004.03.28
Интернет-зависимость


6-1073871867
iWorm
2004-01-12 04:44
2004.03.28
Учет количества переданных байт


3-1077867010
The X
2004-02-27 10:30
2004.03.28
Interbase. Шаблон в процедуре для заполнения нулями до нуж. длины


14-1074853862
Andrew
2004-01-23 13:31
2004.03.28
delphi for .net




   Наверх