Текущий архив: 2004.09.19;
Скачать: CL | DM;
Вниз
ThreadID Найти похожие ветки
← →
o_nick © (2004-08-02 13:35) [0]Зачем он вообще нужен? Сколько по справке не ползал везде через Handle работают.
← →
Digitman © (2004-08-02 13:41) [1]
> Зачем он вообще нужен?
Для уникальной сквозной идентификации трэда в системе при обращении к ф-циям WinAPI, предназначенным для работы с трэдами
> Сколько по справке не ползал везде через Handle работают
ничего подобного
к примеру, вот описание одной из ф-ций
BOOL PostThreadMessage(
DWORD idThread, // thread identifier
UINT Msg, // message to post
WPARAM wParam, // first message parameter
LPARAM lParam // second message parameter
);
как видишь, 1-й параметр отнюдь не Handle, а как раз тот самый идентификатор трэда
← →
Игорь Шевченко © (2004-08-02 13:54) [2]AttachThreadInput, например, использует ThreadId
← →
o_nick © (2004-08-02 15:02) [3]Хм.. Был не прав. Но все равно дикость получается - для одного и того же обьекта (thread) используется два уникальных одентификатора (Handle и ThreadId).
p.s. А вот еще интересно, handle для различных ресурсов (hbrush, hbitmap, hfont, hwnd) выделяються из одного множества или для каждого типа свое, т.е. может ли существовать скажем brush и pen с одним номером?
← →
Игорь Шевченко © (2004-08-02 15:10) [4]
> для одного и того же обьекта (thread) используется два уникальных
> одентификатора (Handle и ThreadId).
Handle имеет смысл для потоков твоего процесса. А чтобы получить Handle потока чужого процесса, нужно очень постараться.
> handle для различных ресурсов (hbrush, hbitmap, hfont, hwnd)
> выделяються из одного множества или для каждого типа свое,
> т.е. может ли существовать скажем brush и pen с одним номером?
hBrush, hBitmap, hFont - одновременно не могут существовать с одним номером.
hwnd и (hBrush, hBitmap, hFont) теоретически могут, так как относятся к разным системам, первый к user, вторые к gdi
← →
Sur (2004-08-02 19:46) [5]
> Зачем он вообще нужен? Сколько по справке не ползал везде
> через Handle работают.
OpenProcess() ego ispolzuet
← →
Digitman © (2004-08-03 08:45) [6]
> Sur (02.08.04 19:46) [5]
> OpenProcess() ego ispolzuet
OpenProcess() использует не ThreadId, а ProcessId .. а это две разные разницы
Страницы: 1 вся ветка
Текущий архив: 2004.09.19;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.025 c