как получить хэндл потока
От: Gukov  
Дата: 31.01.07 00:31
Оценка:
Есть хэндл окна, как получить хэндл потока, т.е.:
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;
...
Re: как получить хэндл потока
От: adontz Грузия http://adontz.wordpress.com/
Дата: 31.01.07 00:45
Оценка:
Здравствуйте, Gukov, Вы писали:

OpenThread
A journey of a thousand miles must begin with a single step © Lau Tsu
Re[2]: как получить хэндл потока
От: Gukov  
Дата: 31.01.07 22:58
Оценка:
Спасиб !
Можно еще вопрос:
Как получить список всех потоков в процессе ?
Re[3]: как получить хэндл потока
От: Аноним  
Дата: 01.02.07 07:10
Оценка:
Здравствуйте, Gukov, Вы писали:

G>Как получить список всех потоков в процессе ?


API: CreateToolhelp32Snapshot() с флагом TH32CS_SNAPTHREAD (параметр th32ProcessID ставить в 0), Thread32First(), Thread32Next(). Далее следуй инструкции:

To identify the threads that belong to a specific process, compare its process identifier to the th32OwnerProcessID member of the THREADENTRY32 structure when enumerating the threads.

 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.