Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.48 MB
Время: 0.023 c
3-1093109996
Dionnis
2004-08-21 21:39
2004.09.19
SQL-запрос


4-1091136573
BaG
2004-07-30 01:29
2004.09.19
Как свернуть окно в "Область уведомлений" (правый нижний угол)?


14-1093540371
Knight
2004-08-26 21:12
2004.09.19
Была тут тема про помехи на экране монитора... нашёл причину!!!


4-1091686363
malamba
2004-08-05 10:12
2004.09.19
отслеживание курсора и перерисовка изображения


4-1091787305
Dmitry V. Averuanov
2004-08-06 14:15
2004.09.19
Получить информацию, аналогичную Application.EXEName