Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.11.06;
Скачать: CL | DM;

Вниз

Посылка сообщения   Найти похожие ветки 

 
Руслан   (2005-09-02 11:07) [0]

здравствуйте мастера, вот у меня какой вопорс:
как программно нажать кнопку мышки, незная наперед, какой объект будет нажат. Тоесть в таймере выставляется интервал, сворачивается прога в трей, мышка наводится на любой объект в любой проге (скажем кнопка Next в винампе или Refresh в експлорере) и по таймеру посылается сообщение этому объекту. Но вот как отыскать кому посылать??


 
wildsam   (2005-09-02 12:51) [1]

Надо получить координаты курсора (GEtCursorPos), потом определить хэндл окна под ним (WindowFromPoint) и послать ему сообщение.


 
Руслан   (2005-09-02 13:47) [2]

Определил хэндл я удачно, но сообщение то не окну надо послать а дочернему компоненту, скажем кнопке, ссылке и т.д. вот я и воспользовалься еще и ChildWindowFromPoint, вот здесь то и проблемма: возвращается 0. Я пишу так:

var Pdc,Cdc: HDC;

begin
 Pdc:= WindowFromPoint(Mouse.CursorPos);  //тут возвращает хэндл
 Cdc:= ChildWindowFromPointEx(Pdc,Mouse.CursorPos,CWP_ALL);//а тут нет, тоесть 0


или я неправильно чтото делаю???


 
Руслан   (2005-09-02 13:49) [3]

Определил хэндл я удачно, но сообщение то не окну надо послать а дочернему компоненту, скажем кнопке, ссылке и т.д. вот я и воспользовалься еще и ChildWindowFromPoint, вот здесь то и проблемма: возвращается 0. Я пишу так:

var Pdc,Cdc: HDC;

begin
 Pdc:= WindowFromPoint(Mouse.CursorPos);  //тут возвращает хэндл
 Cdc:= ChildWindowFromPointEx(Pdc,Mouse.CursorPos,CWP_ALL);//а тут нет, тоесть 0


или я неправильно чтото делаю???


 
begin...end ©   (2005-09-02 13:53) [4]

> Руслан   (02.09.05 13:47) [2]

В ChildWindowFromPointEx должны передаваться координаты относительно родительского окна.


 
Woolen ©   (2005-09-02 14:46) [5]

Возможно я не понимаю задачи, но почему бы не нажать кнопку при помощи функции mouse_event?



Страницы: 1 вся ветка

Текущий архив: 2005.11.06;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.027 c
2-1129128179
Fast2
2005-10-12 18:42
2005.11.06
Как запичать в таблицу данные типа Date?


3-1126600505
Monk
2005-09-13 12:35
2005.11.06
Получение индекса поля DBLookupListBox под курсором мыши


1-1128935230
leonidus
2005-10-10 13:07
2005.11.06
Почему не удается восстановить буфер обмена ?


14-1128680845
SPeller
2005-10-07 14:27
2005.11.06
Бас-подгон от государства


5-1108901865
zdebp
2005-02-20 15:17
2005.11.06
Помогине разобраться в GetInstRes