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

Вниз

как получить хэндл потока   Найти похожие ветки 

 
Gukov   (2007-01-31 03:13) [0]

Есть хэндл окна, как получить хэндл потока, т.е.:
var
 HW: HWND;
 ProcessId, HProcess, ThreadId, HThread: Cardinal;
...
 HW:=FindWindow(nil,"Chessmaster 10th Edition");
 if HW > 0 then begin
   ThreadId:=GetWindowThreadProcessId(HW,ProcessId);
   HProcess:=OpenProcess(PROCESS_ALL_ACCESS,False,ProcessId);
   HThread:=?????????????;
   ...
   SuspendThread(HThread);
 end;
 ...


 
Джо ©   (2007-01-31 03:21) [1]

OpenThread, начиная с Windows Me.


 
Gukov   (2007-01-31 03:41) [2]


> OpenThread

Как ее вызвать ? Этой функции нет ни в Windows.pas ни в Help Windows SDK.


 
Джо ©   (2007-01-31 03:45) [3]

> [2] Gukov   (31.01.07 03:41)
>
> > OpenThread
>
> Как ее вызвать ? Этой функции нет ни в Windows.pas ни в
> Help Windows SDK.

Зато она (ее описание) есть в MSDN.


 
Gukov   (2007-02-01 02:08) [4]

Спасиб !
Можно еще вопрос:
Как получить список всех потоков в процессе ?


 
Asteroid ©   (2007-02-01 03:23) [5]

uses TlHelp32;
Далее CreateToolhelp32Snapshot, которая вернет хэндл "снимка" всех процессов и потоков в них. После чего перебираем потоки через Thread32First/Next и берем нужные.


 
Джо ©   (2007-02-01 03:25) [6]

CreateToolhelp32Snapshot с соотв. флугами и затем Thread32First, Thread32Next. Это в TlHelp32.pas. Подробности есть в MSDN, с примерами. Самому сейчас написать пример нет времени, сорри. Но там несложно.



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

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

Наверх




Память: 0.48 MB
Время: 0.016 c
15-1181299079
zz 5
2007-06-08 14:37
2007.07.08
Delphi 6 и Turbo Delphi (Delphi 2006) на одной машине


3-1174564693
Хаванагил
2007-03-22 14:58
2007.07.08
Иерархические структуры


2-1180797638
Core Thousand
2007-06-02 19:20
2007.07.08
wm_geticon


3-1175856232
Hydroliskus
2007-04-06 14:43
2007.07.08
Не возвращается ptOutput параметра TQuery


8-1161102241
Jimmy
2006-10-17 20:24
2007.07.08
Wmf и Dpi