Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.03.28;
Скачать: 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 вся ветка

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

Наверх




Память: 0.47 MB
Время: 0.028 c
14-1077890338
menart
2004-02-27 16:58
2004.03.28
Что лучше использовать TTable или запросы SQL


1-1079001204
AlexanderSK
2004-03-11 13:33
2004.03.28
Как передать строку из пакета основному приложению?


7-1073903670
}|{yk
2004-01-12 13:34
2004.03.28
Обработка закрытия Explorer


7-1073270354
Babay
2004-01-05 05:39
2004.03.28
Очередь печати принтера


14-1077994366
Lena
2004-02-28 21:52
2004.03.28
<B>Delphi</B>