Форум: "WinAPI";
Текущий архив: 2004.08.08;
Скачать: [xml.tar.bz2];
ВнизАвтоклик на форме!!! не кликает!!!! Найти похожие ветки
← →
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 вся ветка
Форум: "WinAPI";
Текущий архив: 2004.08.08;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.03 c