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

Вниз

Эмуляция клика   Найти похожие ветки 

 
Дубинка   (2006-02-13 21:50) [0]

Подскажите пожалуйста, как можно программно сэмулировать клик мышью? Я написал так:

GetCursorPos(p);
SendMessage(WindowFromPoint(p), WM_LBUTTONDOWN, MK_LBUTTON, MAKEWORD(p.x, p.y);
SendMessage(WindowFromPoint(p), WM_LBUTTONUP, MK_LBUTTON, MAKEWORD(p.x, p.y);


В большинстве (но не во всех) случаях не работает....


 
Grief ©   (2006-02-13 21:54) [1]

Mouse_Event(MOUSEEVENTF_ABSOLUTE or  MOUSEEVENTF_LEFTDOWN, P.x, P.y,  0,  0);
Mouse_Event(MOUSEEVENTF_ABSOLUTE or  MOUSEEVENTF_LEFTUP,  P.x,  P.y,  0,  0);


 
Дубинка   (2006-02-13 22:36) [2]

Благодарю, а не объясните ли вы мне, почему не работает то что написал я?


 
begin...end ©   (2006-02-14 08:54) [3]

> Дубинка   (13.02.06 22:36) [2]

Потому что, во-первых, в качестве lParam для WM_LBUTTONDOWN/WM_LBUTTONUP должны передаваться не абсолютные координаты курсора, а клиентские. А во-вторых, параметр lParam -- 32-битный, и для его "конструирования" нужно использовать не MakeWord, а MakeLong (или MakeLParam).



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

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

Наверх




Память: 0.47 MB
Время: 0.058 c
1-1139251826
Kolan
2006-02-06 21:50
2006.03.19
Как усыпить поток.


2-1141391931
jenya
2006-03-03 16:18
2006.03.19
Из ColorDialog в Edit1, как текст, возможно?


15-1140326326
delphi-oracle
2006-02-19 08:18
2006.03.19
Все, кто че знает по Messages, поделитесь


1-1139516532
imm
2006-02-09 23:22
2006.03.19
$R- в созданном юните, непашет на уровне компиляции


6-1133858903
Alexandr
2005-12-06 11:48
2006.03.19
выбор технологии для обмена данными