Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "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
14-1090547716
Думкин
2004-07-23 05:55
2004.08.08
С днем рождения! 23 июля


1-1090507285
bloodman
2004-07-22 18:41
2004.08.08
прередача строк из Dll в программу.


4-1088159955
Zelius
2004-06-25 14:39
2004.08.08
Как вызвать из программы диалог Internet options?


14-1090563446
Vlad Oshin
2004-07-23 10:17
2004.08.08
Кто сталкивался с таким в winworde?


1-1090314166
rustamus
2004-07-20 13:02
2004.08.08
DhtmlEdit





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский