Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: WinAPI и системное программирование > проблема с mouse_event


Автор: casinosoftguru 22.12.2008, 17:09

M
bartram
Не забываем оформлять свой код, для этого существует кнопочка "Код"

По поиску полазил вроде нигде нет.. В общем в инете везде валяется код для работы с мышкой, взял его, но не работает совсем либо нажимает через нное количество вызова процедуры причем вызывание процедуры подряд в одном цикле не помогает))
У меня приложение, на форме значит TWebBrowser. В этот браузер я загружаю страницу с флешкой то есть по сути кликнуть надо во флешке, наверное из-за этого и проблемы. Среда делфи 7. Привожу сам код:

Код

   x:=160;
   x:=form1.Left+x;
   y:=325;
   y:=form1.Top+y;
  // SetCursorPos(x,y); - в принципе перемещение работает и так и как ниже а вот кликать упорно не хочет по нормальному..
   ClientToScreen(application.Handle,Pt);
   Pt.x := Round(x * (65535 / Screen.Width));
   Pt.y := Round(y * (65535 / Screen.Height));
  Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_MOVE, Pt.x, Pt.y, 0, 0);
  application.proccessmessages;
  Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTDOWN, Pt.x, Pt.y, 0, 0);
  application.proccessmessages;
  Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTUP, Pt.x, Pt.y, 0, 0);
  application.proccessmessages;



После того как добавил processmessages после каждого mouse_event стало получше но все равно срабатывает не всегда и это просто убивает.. Кто в курсе, жду советов!


Автор: casinosoftguru 22.12.2008, 18:21
Такое маленькое дополнение - создал около 20 процедурок для каждой кнопки во флешке, каждая процедура со своими координатами. Вот, и если вызывать руками любую процедуру то все работает прекрасно но если делать цикл, из последовательности действий (цель - написать программу бота) то на некоторые кнопки в упор не нажимается и все тут.. 

Автор: FromUZB 18.12.2009, 21:28
Кто-нибудь знает решения данной проблемы?  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)