|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Использование User32.dll вместо MouseClick |
|
[решено] Использование User32.dll вместо MouseClick
|
Пользователь Сообщения: 143 |
Профиль | Отправить PM | Цитировать Интересует такая штучка: к примеру имею вот такой код:
#include <IE.au3> $oIE = _IECreate ("www.autoitscript.com") ;1способ ;_IEImgClick ($oIE, "Download AutoIt", "alt") ;2-й способ $oImgs = _IEImgGetCollection ($oIE) For $oImg In $oImgs if $oImg.alt == "Download AutoIt" Then $iScreenX = _IEPropertyGet($oImg, "screenx") $iScreenY = _IEPropertyGet($oImg, "screeny") MouseClick('LEFT', $iScreenX + $oImg.width,$iScreenY + $oImg.height) EndIf Next Наткнулся как делают: на примере кнопки START const Int32 WM_LBUTTONDOWN = 0x0201; [DllImport("User32.dll")] private static extern IntPtr FindWindow(string lpClassName, string lpWindowName); [DllImport("User32.dll")] private static extern IntPtr FindWindowEx(IntPtr hwndParent, IntPtr hwndChildAfter, string lpszClass, string lpszWindow); [DllImport("user32.dll")] private static extern bool SendMessage(IntPtr hWnd, Int32 msg, Int32 wParam, Int32 lParam); IntPtr hTaskBar = FindWindow("Shell_TrayWnd", null); // ищем таскбар if(hTaskBar != IntPtr.Zero) { // находим кнопку Start IntPtr hStartBtn = FindWindowEx(hTaskBar,IntPtr.Zero,"Button", null); // кликаем ее if(hStartBtn != IntPtr.Zero) SendMessage(hStartBtn, WM_LBUTTONDOWN, 0, 0); } Одним словом, что спрашивается как клацнуть по картинке, как во втором способе но не используя мышку? Спасибо. |
|
Отправлено: 20:12, 28-03-2010 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Цитата HORRIBLE:
Цитата HORRIBLE:
на только не нужно потом говорить что мышка не туда кликает - у неё и элемента окна разные координаты, и разные методы распознавания (второе у мышки можно настроить). |
||
------- Отправлено: 09:21, 30-03-2010 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 143
|
Профиль | Отправить PM | Цитировать Цитата Creat0R:
Цитата Creat0R:
|
||
Отправлено: 12:02, 30-03-2010 | #12 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Ошибка - [решено] Ошибка: системная библиотека user32.dll перемещена в памяти... | ruddystepa | Microsoft Windows 2000/XP | 127 | 05-08-2017 21:58 | |
Разное - Использование AppLocker с dll файлами | vasili111 | Microsoft Windows 7 | 3 | 13-09-2009 11:40 | |
Разное - Использование команд из user.exe(dll) | n9271217 | Microsoft Windows 2000/XP | 0 | 13-01-2009 14:58 | |
Загрузка - после восстановления User32.dll появляется черный экран | ymuhin | Microsoft Windows 2000/XP | 14 | 14-12-2008 19:56 | |
Загрузка - user32.dll - Точка входа в процедуру Close Clip... | kolchoz | Microsoft Windows 2000/XP | 7 | 10-08-2007 19:24 |
|