|
Модераторы: feodorv, GremlinProg, xvr, Fixin |
|
korsaj |
|
|||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 1.2.2018 Репутация: нет Всего: нет |
Подскажите, что я делаю не так. В ддл обрабатываю сообщения от скролла. При манипуляции со скроллами сообщение ловится, но значения nPos всегда хаотичные. Подозреваю что неправильно получаю структуру SCROLLINFO, но как именно неправильно ума не приложу. Ниже код ловушки из длл.
|
|||
|
||||
xvr |
|
|||
Эксперт Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 40 Всего: 223 |
Если 'чужое окно' находится в другом приложении, то прочесть SCROLLINFO не получится. Аддрес в lParam будет для адресного пространства чужого приложения, у вас там будет что угодно. Для обработки таких хуков надо внедряться в это чужое приложение
|
|||
|
||||
korsaj |
|
|||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 1.2.2018 Репутация: нет Всего: нет |
Все сделано до вас. Вопрос был в другом и его решение найдено. в LRESULT ScrollHookProc(int code, WPARAM wParam, LPARAM lParam ) первым делом получаем ссылку на структуру MSG, MSG *msg = (MSG*)lParam; а уже в ней храниться указатель на окно пославшее сообщение (в которое внедрена длл). SCROLLINFO si; ZeroMemory(&si, sizeof(si)); si.cbSize = sizeof(si); si.fMask = SIF_ALL; GetScrollInfo(msg->hwnd, SB_HORZ, &si)); |
|||
|
||||
Правила форума "C/C++: Системное программирование и WinAPI" | |
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |