Главная страница
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.022 c
1-31286
QUE
2003-06-26 12:16
2003.07.10
Как изменить вид кнопки у ComboBox ?


4-31573
X-RayMan
2003-05-10 22:01
2003.07.10
Atom


14-31490
HermitAlex
2003-06-24 17:33
2003.07.10
Динамическое наполнений DataSet в трехзвенном приложении


4-31580
Nick Denry
2003-05-08 20:12
2003.07.10
SetMenuItemBitmaps or SetMenuItemInfo


1-31231
SeAl
2003-06-26 14:05
2003.07.10
нужна помощь с переводом из real в integer