Главная страница
    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.46 MB
Время: 0.03 c
8-1085076386
Nic2
2004-05-20 22:06
2004.08.08
Снимок экрана


4-1088418091
Denis_Visma
2004-06-28 14:21
2004.08.08
Автоклик на форме!!! не кликает!!!!


4-1088188305
Timyrlan
2004-06-25 22:31
2004.08.08
Получить сообщение другому приложению


14-1090392311
Slider007
2004-07-21 10:45
2004.08.08
Kaspersky Antivirus 5.0.142 обновление баз


6-1086783090
Orion2
2004-06-09 16:11
2004.08.08
IE





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский