![]() |
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]() ![]() ![]() |
|
TGrey |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 294 Регистрация: 1.12.2007 Репутация: 1 Всего: 1 |
Здравствуйте, что-то пригорело мне увеличить ширину системных часов в трее, добрался до них, пытался двигать - двигаются, но остальное не сдвигается относительно них. Потом пробовал двигать сам трей, тоже двигается, но не то, что мне надо. Почитал в инете, нашел что нужно отлавливать сообщения WM_USER+100 которое шлется часам, для того, чтобы узнать их размер. Попытался сам слать его, но часам до него нет дела, значит нужно возвращать результатом их размер? Сунул глобальный хук в систему на сообщение WM_USER+100, а оно почему-то не обрабатывается, не видит оно его, в Спайхх все сообщения проходят, а ДЛЛ 0 внимания.
Можете подсказать в чем проблема и может, кто-то уже занимался подобной ерундой. Спасибо.
|
|||
|
||||
TGrey |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 294 Регистрация: 1.12.2007 Репутация: 1 Всего: 1 |
Пока сидел, решил побаловаться, с ПУСКом, заделал свою кнопку и пытался вызвать оконную процедуру ПУСКа при сообщении от кнопки мыши, почти работает, но недостаток по прежнему в том, что Shell_TrayWnd сообщения никак не воспринимаются хуком.
Я просмотрел и увидел, что на часы и на его парентов стоит одна и таже процедура окна, я так понял, что ее надо заменять на свою, а потом вызывать стандартную, но вопрос остается, как принимать хоть какие-то сообщения, если они вообще не воспринимаются от этих компонентов? |
|||
|
||||
GremlinProg |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2706 Регистрация: 9.8.2005 Где: Тюмень Репутация: 99 Всего: 106 |
код не разбирал, но увидел работу с WH_GETMESSAGE,
не думаю что такие сообщения часто укладываются в очередь, обычно вызывается простой SendMessage, так что наверное стоит заглянуть и в WH_CALLWNDPROC -------------------- "Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины." |
|||
|
||||
TGrey |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 294 Регистрация: 1.12.2007 Репутация: 1 Всего: 1 |
Пробовал, дело в том, что у меня почему-то от ШеллТрея(если не ошибаюсь) вообще никакие сообщения не идут. Я сдвигаю к примеру часы или панель с иконками куда-то под экран- пытался ловить сообщения о кликах и т.д. Так ничего и не словилось, словилось только тогда, когда клацаю по кнопке со стролочкой, которая расскрывает список спрятаных иконок, тогда идет сообщение о клике мышой, а иначе - глухо.
Как смогу еще раз проверю, может я пробовал с WH_GETMESSAGE. Но всеже если у кого есть еще идеи, буду рад. |
|||
|
||||
TGrey |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 294 Регистрация: 1.12.2007 Репутация: 1 Всего: 1 |
В общем вот что получилось, если хукаю по КоллВндПрок, то при клике по иконкам приложений крашится Експлорер, при клике по ШеллТрею - ничего.
Если хукаю по ГетМесседж, то при кликах в Ехплорере и при кликах в области часов(но не на часах) и по кнопке выдвинуть спрятанные иконки и по квадратику для выбора языка, сообщения проходят, а при клике по ШеллТрею - 0 внимания. Не хочет оно сообщения ловить. ------------------ Моя ошибка, выключил в Спайхх нужные сообщения в фильтре и не видел, что хукаю не то, что надо.
Работает, ловит, то что мне надо. Извиняюсь отдалился от темы, с ПУСКом, то работает, а насчет часов вопрос остается открытым. Сообщение WM_USER+100 по прежнему не ловятся от него. Это сообщение отредактировал(а) TGrey - 20.6.2010, 07:51 |
|||
|
||||
TGrey |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 294 Регистрация: 1.12.2007 Репутация: 1 Всего: 1 |
Теперь на счет WM_USER+100, в другой теме было решено, что я использовал не верную структуру для хука WH_CALLWNDPROC, подставив нужную структуру, сообщение хукается нормально, но размер, что-то не горит изменятся=)
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "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. |