Форум: "Основная";
Текущий архив: 2006.03.19;
Скачать: [xml.tar.bz2];
ВнизЭмуляция клика Найти похожие ветки
← →
Дубинка (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;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.012 c