![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Посылка сообщения [D6, WinXP]
Руслан © (2005-09-02 11:07:00)здравствуйте мастера, вот у меня какой вопорс:
как программно нажать кнопку мышки, незная наперед, какой объект будет нажат. Тоесть в таймере выставляется интервал, сворачивается прога в трей, мышка наводится на любой объект в любой проге (скажем кнопка Next в винампе или Refresh в експлорере) и по таймеру посылается сообщение этому объекту. Но вот как отыскать кому посылать??
Woolen (2005-09-02 14:46:00) [1]Возможно я не понимаю задачи, но почему бы не нажать кнопку при помощи функции mouse_event?
begin...end (2005-09-02 13:53:00) [2]> Руслан (02.09.05 13:47) [2]
В ChildWindowFromPointEx должны передаваться координаты относительно родительского окна.
Руслан (2005-09-02 13:49:00) [3]Определил хэндл я удачно, но сообщение то не окну надо послать а дочернему компоненту, скажем кнопке, ссылке и т.д. вот я и воспользовалься еще и ChildWindowFromPoint, вот здесь то и проблемма: возвращается 0. Я пишу так:
var Pdc,Cdc: HDC;
begin
Pdc:= WindowFromPoint(Mouse.CursorPos); //тут возвращает хэндл
Cdc:= ChildWindowFromPointEx(Pdc,Mouse.CursorPos,CWP_ALL);//а тут нет, тоесть 0
или я неправильно чтото делаю???
Руслан (2005-09-02 13:47:00) [4]Определил хэндл я удачно, но сообщение то не окну надо послать а дочернему компоненту, скажем кнопке, ссылке и т.д. вот я и воспользовалься еще и ChildWindowFromPoint, вот здесь то и проблемма: возвращается 0. Я пишу так:
var Pdc,Cdc: HDC;
begin
Pdc:= WindowFromPoint(Mouse.CursorPos); //тут возвращает хэндл
Cdc:= ChildWindowFromPointEx(Pdc,Mouse.CursorPos,CWP_ALL);//а тут нет, тоесть 0
или я неправильно чтото делаю???
wildsam (2005-09-02 12:51:00) [5]Надо получить координаты курсора (GEtCursorPos), потом определить хэндл окна под ним (WindowFromPoint) и послать ему сообщение.