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

Автоклик на форме!!! не кликает!!!!   Найти похожие ветки 

 
Denis_Visma   (2004-06-28 14:21) [0]

Уважаемые мастера! Проблема с эмулированием клика мышки на одном окне...
вообщем получаю хендл окна я вот каким образом
var
 aName: array [0..255] of Char;
begin
 hWnd := WindowFromPoint(CrPos);
 Label1.Caption := "Handle :  " + IntToStr(hWnd);
 if Boolean(GetClassName(hWnd, aName, 256)) then
   Label2.Caption := "ClassName :  " + string(aName)
 else
   Label2.Caption := "ClassName :  not found";

то есть хендл окна под мышкой...что самое интересное смотрю хендл окна через winsight32 (что поставляеться вместе с делфи), то хендл такой же...

затем кликаю вот так
sendmessage(hwnd, WM_LBUTTONDOWN, MK_LBUTTON, rPos.X + rPos.Y);
sendmessage(hwnd, WM_LBUTTONUP, MK_LBUTTON, rPos.X + rPos.Y);

и ни в какую не хочет кликать...дело в том что при клике на окне на котором мышка находиться должен открываться iexplorer но он не открываеться то есть не кликает мышка...
на любом другом окне кликает...
в чем может быть проблема?
Большое спасибо за советы.


 
Sandman25 ©   (2004-06-28 14:28) [1]

PostMessage?


 
Denis_Visma   (2004-06-28 14:30) [2]

пробовал...не помогает....


 
wicked ©   (2004-06-28 16:39) [3]


> sendmessage(hwnd, WM_LBUTTONDOWN, MK_LBUTTON, rPos.X + rPos.Y);
> sendmessage(hwnd, WM_LBUTTONUP, MK_LBUTTON, rPos.X + rPos.Y);

а это (выделенное) что такое?... имхо бред...
нужно например (rPos.Y shl 16) or (rPos.X and $ffff)...
ну или mouse_event / SendInput использовать... даже предпочтительней в данном случае будет....

ЗЫ и не sendmessage, а SendMessage...


 
Игорь Шевченко ©   (2004-06-28 16:54) [4]


> ЗЫ и не sendmessage, а SendMessage


PostMessage все-таки более привычен (даже для имитации) для аппаратных событий


 
GrayFace ©   (2004-06-29 06:55) [5]

Denis_Visma
Из твоего описания получается такая картина:
hWnd := WindowFromPoint(CrPos);
...
sendmessage(hwnd, WM_LBUTTONDOWN, MK_LBUTTON, rPos.X + rPos.Y);
sendmessage(hwnd, WM_LBUTTONUP, MK_LBUTTON, rPos.X + rPos.Y);

А должна быть такая:
sendmessage(IEwnd, WM_LBUTTONDOWN, MK_LBUTTON, rPos.X + rPos.Y);
sendmessage(IEwnd, WM_LBUTTONUP, MK_LBUTTON, rPos.X + rPos.Y);



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

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



Память: 0.46 MB
Время: 0.036 c
14-1090328997
офф ;(
2004-07-20 17:09
2004.08.08
значение слова мизерабль? Ну понятно что- плебей, а поконкретней?


3-1089628810
}|{yk
2004-07-12 14:40
2004.08.08
Дата как целое число...


1-1090835481
Андрей Л.
2004-07-26 13:51
2004.08.08
Как в TreeView программно открыть узел для редактирования?


1-1090651888
Fagot
2004-07-24 10:51
2004.08.08
Где можно достать иконки и картинки для приложения


14-1090175352
Огромное Кулясищще
2004-07-18 22:29
2004.08.08
Смотрите, какой прикол




   Наверх