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

Вниз

Список потоков (Threads) для процесса   Найти похожие ветки 

 
GMan   (2005-02-02 16:11) [0]

Решил уже для полноты картины (неутешительной) спросить, знает ли кто-нибудь как получить список потоков для выбранного процесса?


 
Игорь Шевченко ©   (2005-02-02 16:19) [1]

http://www.schevchenko.net.ru/SRC/QuerySystemInformation_60.zip


 
GMan   (2005-02-02 16:25) [2]

Спасибо, но я уже смотрел этот пример. Мне он не подходит, потому что придется слишком много переписывать, т.к. я получаю список процессов след. образом:

procedure GetProcessList();
var
 pe:TProcessEntry32;
 ph, snap:THandle;
 mh:hmodule;
 procs:array[0..$fff] of dword;
 count, cm:cardinal;
 i, j, z:integer;
 ModName:array[0..max_path] of char;
begin
   if not EnumProcesses(@procs, sizeof(procs), count) then
   begin
     exit;
   end;

   for i:= 0 to count div 4 - 1 do
     begin
       ph:=OpenProcess(PROCESS_QUERY_INFORMATION or PROCESS_VM_READ,
                     false, procs[i]);
       if ph>0 then
       begin
         EnumProcessModules(ph, @mh, 4, cm);
         if GetModuleFileNameEx(ph, mh, ModName, sizeof(ModName)) > 0 then
         begin
           _ProcPath := String(ModName);
           _PID := procs[i];
           _ProcHandle := "$" + IntToHex(ph, 8);
           if GetProcessMemoryInfo(ph, @FCounters, SizeOf(FCounters)) then
           begin
             _ProcCurrMem := FCounters.WorkingSetSize div 1024;
           end;
           _ProcPriority := GetPriorityClassString(GetPriorityClass(ph));
           GetFileOwner(_ProcPath, Domain, Username);
           _ProcOwner := Domain + "@" + Username;
         end;
         CloseHandle(ph);
       end;
       AddRows(1);
     end;
end;


 
Digitman ©   (2005-02-02 17:12) [3]


> GMan   (02.02.05 16:25) [2]


галиматья какая-то ..

у тебя какой вопрос был ?

> как получить список потоков


а ты что пишешь ?


> GetProcessList()


переводя с буржуйского на русский ты пишешь "ПолучитьСписокПроцессов"

ну и как соотносится тема вопроса с назначением ф-ции, хотя бы по ее имени ?


 
alpet   (2005-02-02 18:50) [4]

Потоки можно узнать с помощью toolhelp функций: Thread32first, Thread32next. Получить дескрипторы потоков, через OpenThread (Win2k +) или подключившись как отладчик к процессу.


 
DeadMeat ©   (2005-02-02 21:29) [5]


> ну и как соотносится тема вопроса с назначением ф-ции, хотя
> бы по ее имени ?


> Спасибо, но я уже смотрел этот пример. Мне он не подходит,
> потому что придется слишком много переписывать, т.к. я получаю
> список процессов след. образом
:

Ну не хочет человек переписывать... Ну чего тут поделать... ;)

---
...Death Is Only The Begining...



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

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

Наверх




Память: 0.48 MB
Время: 0.061 c
3-1108704613
h1der
2005-02-18 08:30
2005.03.20
Delphi изменяет заголовок таблицы FoxPro


6-1105529569
Diaskhan
2005-01-12 14:32
2005.03.20
Как написать клиент отправки почты под ИНДИ


14-1108302776
Юрий Зотов
2005-02-13 16:52
2005.03.20
Прощай, диалап!


1-1110022038
Erl
2005-03-05 14:27
2005.03.20
MDI


3-1108649874
DimonNew
2005-02-17 17:17
2005.03.20
Delphi2005 и ClientDataSet