Текущий архив: 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.45 MB
Время: 0.037 c