Вниз
Скачать: CL | DM;

Проблема с левой кнопкой мыши.   Найти похожие ветки 

 
mm0 ©   (2003-04-27 13:56) [0]

Люди помогите.
Нужно ножать левой кномпкой мыши на другой программе в заданой координате.
Вот я пробывал следующие варианты,не один не работает:
h:=FindWindow(nil,"sergey");
if h=0 then begin ShowMessage("nw");Exit;end;
1вар.
SendMessage(H, WM_MBUTTONDOWN ,MK_LBUTTON, MAKELONG(20{x},21{y}));
Sleep(200);
SendMessage(H, WM_MBUTTONUP ,MK_LBUTTON, MAKELONG(20,21));
2вар.
SendMessage(H, WM_LBUTTONDOWN ,MK_LBUTTON, MAKELONG(20{x},21{y}));
Sleep(200);
SendMessage(H, WM_LBUTTONUP ,MK_LBUTTON, MAKELONG(20,21));
3вар.
SendMessage(H, WM_LBUTTONDOWN ,0, MAKELONG(20{x},21{y}));
Sleep(200);
SendMessage(H, WM_LBUTTONUP ,0, MAKELONG(20,21));
Пробывал и для h:=0.
и даже:
SendMessage(H, WM_LBUTTONDOWN ,0,0);
Sleep(200);
SendMessage(H, WM_LBUTTONUP ,0, 0);
-неработает


 
Song ©   (2003-04-27 14:40) [1]

Координаты нужны относительно окна, куда посылаешь сообщения.
Проще воспользоваться BM_CLICK


 
mm0 ©   (2003-04-28 06:52) [2]

ДА,относительно окна.
А как воспользоватся BM_CLICK?


 
Ancara   (2003-04-28 13:04) [3]

Насколько я понял, ты хочешь нажать на конкретную кнопку в конкретном окне конкретной проги. Ваще конкретно!:))
Если так, то осмелюсь посоветовать следующее:
1. Ищем окно:
hWin:=FindWindow(0,"Конкретный заголовок");
если нашли
if hWin<>0 then begin
2. Берем первое дочернее окно:
hWin:=GetWindow(hWin, GW_CHILD);
смотрим на его caption:
GetWindowText(hWin, WinCap, sizeof(WinCap));
он попадает в WinCap: array [0..127] of Char
если кнопка не та берем следующее окно и его caption:
hWin:= GetWindow(hWin, gw_hWndNext);
и так до тех пор пока не найдем нужную кнопку (ведь кнопка это тоже окно для виндов со своим handle"ом).
Если caption совпадает с нашим условием:
WinCap="Конкретная кнопка";
то значит hWin - и есть handle нашей кнопки, далее полная свобода действий:
можем послать ей сообщение:
SendMessage(hWin, WM_CLICK, 0, 0);
сделать доступной/недоступной:
EnableWindow(hWin,true/false);
скрыть/показать:
ShowWindow(hWin, SW_HIDE/SW_SHOW);
или ваще конкретно закрыть:
CloseWindow(hWin);
----------------------------

Надеюсь, что мой совет хоть чем-нибудь пригодится, ну а если нет - sorry...
Желаю удачи!


 
mm0 ©   (2003-04-28 15:17) [4]

Пробовал.Непомогло.
Мышью надежнее...



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.018 c
1-31248
jack128
2003-06-29 19:20
2003.07.10
абстрактные свойства


1-31185
mur
2003-06-26 11:27
2003.07.10
Как определить путь к файлам проекта в Design-time?


3-31149
Oleg
2003-06-18 17:39
2003.07.10
Ошибка из-за индекса


3-31141
EndDie
2003-06-18 14:34
2003.07.10
Как выбрать нужную запись через CommandText TADODataSet-a?


14-31414
iNeLL
2003-06-25 19:19
2003.07.10
ActiveDesktop




   Наверх