Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
[C++] Товарищи програмисты... 28.08.01 04:55
Автор: dontNow Статус: Незарегистрированный пользователь
|
...если кому не трудно, объясните плиз что такое "Хук" (в програмировании разумеется) и еще, есть в с++ такая структура (или клас?) кaк "HINSTANCE",
для чего она нужна и с чем ее едят? Буду очень признателен.
Спасибо.
|
 |
[C++] Товарищи програмисты... 28.08.01 08:42
Автор: ggg <ggg> Статус: Elderman
|
> ...если кому не трудно, объясните плиз что такое "Хук" (в > програмировании разумеется) и еще, есть в с++ такая > структура (или клас?) кaк "HINSTANCE", > для чего она нужна и с чем ее едят? Буду очень признателен. > Спасибо.
1) посмотри описание SetWindowsHook()
2) HINSTANCE == image base - адрес начиная с которого отображён в виртуальном адресном пространстве исполняемый файл данного процесса. Обычно = 0x400000 (устанавливается линкером; теоретически может быть изменён загрузчиком (при наличии relocation table), но для exe-файлов в этом нет необходимости, поэтому всегда используется то, что прописано линкером).
|
 |  |
[C++] Товарищи програмисты... 28.08.01 12:56
Автор: Xan Статус: Незарегистрированный пользователь
|
> 2) HINSTANCE == image base - адрес начиная с которого > отображён в виртуальном адресном пространстве исполняемый > файл данного процесса. Обычно = 0x400000 (устанавливается > линкером; теоретически может быть изменён загрузчиком (при > наличии relocation table), но для exe-файлов в этом нет > необходимости, поэтому всегда используется то, что > прописано линкером). ОК, я вот только не пойму почему у разных элементов управления (окон toolbar, statusbar к примеру) разный hInstance если ехе-шник одино и тот же.
|
 |  |  |
[C++] Товарищи програмисты... 28.08.01 15:51
Автор: ггг Статус: Незарегистрированный пользователь
|
> > > 2) HINSTANCE == image base - адрес начиная с которого > > отображён в виртуальном адресном пространстве > исполняемый > > файл данного процесса. Обычно = 0x400000 > (устанавливается > > линкером; теоретически может быть изменён загрузчиком > (при > > наличии relocation table), но для exe-файлов в этом > нет > > необходимости, поэтому всегда используется то, что > > прописано линкером). > ОК, я вот только не пойму почему у разных элементов > управления (окон toolbar, statusbar к примеру) разный > hInstance если ехе-шник одино и тот же.
когда создаёшь всякие окна, то передаётся указатель на модуль, содержащий ресурсы (иконки например)
это может быть не основной экзешник, а какая-нибудь длл
правильней называть этот указатель HMODULE - базовый адрес для конкретного модуля
хотя и то и другое == void*
|
|
|