Главная страница
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.044 c
4-1107854819
MetalFan
2005-02-08 12:26
2005.03.20
EnumServicesStatus


1-1109420614
Глеб
2005-02-26 15:23
2005.03.20
Использование тем Windows XP


14-1109524729
Девушка
2005-02-27 20:18
2005.03.20
Установка winXP


1-1110109405
TeNY
2005-03-06 14:43
2005.03.20
Clipboard.Formats[] непонятна логика.


1-1109948600
вопрос
2005-03-04 18:03
2005.03.20
Надо из компонента узнать, что в форме выполнилось событие