Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.07.10;
Скачать: 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 вся ветка

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

Наверх




Память: 0.47 MB
Время: 0.018 c
11-31165
Gandalf
2002-10-29 19:59
2003.07.10
KOLnMCK 1.56


1-31340
Um
2003-06-26 07:42
2003.07.10
интерпретатор Delphi


3-31148
Evgen_Z
2003-06-16 08:21
2003.07.10
Interbase Character Set


14-31454
copyr25
2003-06-22 21:24
2003.07.10
Хакеры уже вербуют даже девушек.


1-31263
Dima2
2003-06-28 17:02
2003.07.10
OleContainer : Word - > ASCII