Вниз
Скачать: 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 вся ветка

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



Память: 0.46 MB
Время: 0.023 c
6-1106125547
Чеширский_Кот
2005-01-19 12:05
2005.03.20
Delphi and WAB


14-1109743450
Чеширский_Кот
2005-03-02 09:04
2005.03.20
Фальшь и неискренность


1-1109985318
rosl
2005-03-05 04:15
2005.03.20
hint


3-1108715065
Prohodil Mimo
2005-02-18 11:24
2005.03.20
Как в IB6 удалить FOREIGN KEY ?


1-1109775545
Гость
2005-03-02 17:59
2005.03.20
Как отобразить (в ПрогрессБаре, напр.) процесс копирования файла?




   Наверх