-
драсте
подскажите как моя программа может узнакть о том что нажали одну из кнопок на выбраной форме
-
этош надош, в 46 лет так формулировать вопрос, чувствуется многолетний опыт...
-
ну так получилось
я пока не могу сообразить как вопрос сформулировать
ну подскажите как перехватить нажатие кнопки
-
а зачем перехватывать кнопки на форме?
тыкаеш по ней 2раза и в появившемя оброботчике пишеш нужный тебе код
какой вопрос - такой ответ :)
-
поясню для чего нужно
есть программа TV плеер но я хочу чтоб рядом все время был список передач
это и есть моя программа
так я хочу чтоб когда на плеере нажимают на кнопку канала
в моей программе должна появиться программа передач этого канала
так вот моя программа должна узнать что в плеере нажали кнопку
-
ну если это тв из инета то найди нормальный плеер который кажет программу (их полно)
если это софт от твтюнера то эта затея будет стоить тебе много разнообразного хардсекса с дельфей
-
это тв из интернета
нашел плеер который меня устраивает
предлагал авторам сделать так
но такого желания у них нет
поэтому решил это сделать сам
уже разобрался с доступом к хенлу кнопок
теперь надо следить нажатие на них или хотя бы когда кнопка становиться активной
-
ну раз даже хендл нашел,тогда кури тему по сабклассингу окон
-
Ставь хук на события, из них отслеживай те, которые адресованы нужной тебе кнопке
When the user clicks a push button (of either style), it receives the keyboard focus. The system sends the button's parent window a WM_COMMAND message that contains the BN_CLICKED notification code.
-
> Cobalt © (28.05.12 10:51) [8]
а не круто ли факать всю систему (а корректно это написать у него явно не выйдет) ради одной кнопки?
-
Зачем всю систему?
достаточно целевого потока.
-
Unknown-Плеер совсем случайно не предоставляет какого-нибудь более человеческого интерфейса для взаимодействия с ним, кроме поиска handle'ов? Что-нибудь a la WinAMP или AIMP, когда управлять можно через документированные разработчиками фичи.
-
> тогда кури тему по сабклассингу окон
а а можно подробнее описать что это такое
а то я то же щитаю что хук он лезет везде
а я уже знаю хендел плеера и кнопок каналов
и писать прогу которая лезет везде
а еще я давно не писал хуки
вот и хочу спрасить как без хуков обойтись
> Что-нибудь a la WinAMP или AIMP, когда управлять можно через
> документированные разработчиками фичи.
я рользуюсь rus pleer
-
> SKIPtr © (28.05.12 17:12) [12]
> вот и хочу спрасить как без хуков обойтись
хуки - не самоцель, твоя цель разместить в адресном пространстве процесса этого плеера свой код, который будет представлять собой например оконную процедуру, обрабатывающую одно или несколько сообщений Windows. В этой оконной процедуре можно будет при получении нужных сообщений выполнять какие либо свои действия и перенаправлять эти самые сообщения старой процедуре окна, чтобы программа могла работать как и раньше. Эту свою оконную процедуру надо будет повесить на нужное окно, обязательно сохранив при этом ссылку на старую процедуру, чтоб вызываеть ее из своей.
-
> SKIPtr © (28.05.12 17:12) [12]
слова для поиска SetWindowLong GWL_WNDPROC hook
-
> а а можно подробнее описать что это такое
> представлять собой например оконную процедуру, обрабатывающую
> одно или несколько сообщений Windows. В этой оконной процедуре
> можно будет при получении нужных сообщений выполнять какие
> либо свои действия и перенаправлять эти самые сообщения
> старой процедуре окна, чтобы программа могла работать как
> и раньше. Эту свою оконную процедуру надо будет повесить
> на нужное окно, обязательно сохранив при этом ссылку на
> старую процедуру, чтоб вызываеть ее из своей.
вот это и называется сабклассингом, гугл ищет на раз два
-
> слова для поиска SetWindowLong GWL_WNDPROC hook
значит только через хуки
-
> SKIPtr © (28.05.12 20:20) [16]
не только, просто этот способ относительно простой
-
в принципе даже можно обойтись WH_MOUSE_LL тогда и DLL не нужна
-
> SKIPtr © (28.05.12 06:10) [6]
>
> это тв из интернета
> нашел плеер который меня устраивает
> предлагал авторам сделать так
> но такого желания у них нет
Значит либо они давно забросили свой проект(, а отдавать исходники в чужие руки не хотят), либо у них есть свой функционал для показа программы передач. Вот только я пока не слышал о том, что хоть какой-то российский канал предоставлял свою программу передач для TV-плееров.