MastuBasta
![](http://forum.ru-board.com/board/avatars/no_portait.gif)
Junior Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Большое спасибо, теперь отлично работает! А можно еще вопрос? Я хотел сделать определение координат, в идеале бы так же, как в "au3 window info" (с перетаскиваемым указателем), и я примерно представляю что для этого понадобится много чего, включая mousedrag, но это пока сложновато для меня. Так что просто используя mousegetpos пытаюсь сделать, хотя и не очень "юзер френдли" получается. Короче.. Код: Func COORDButton() MsgBox(0, "Определение координат", "Наведите мышь") GUISetState(@SW_MINIMIZE) Sleep (5000) Local $pos = MouseGetPos() IniWrite("config.ini", "config", "coord", $pos) GUICtrlSetData($inputcoord, $pos) GUISetState(@SW_RESTORE) EndFunc | $inputcoord - это окошко с координатами, которые должны появляться там (для наглядности, только надо сделать это поле ридонли и в идеале при каждом запуске программы подставлять туда данные из того же config.ini), и записываться в файл config.ini после срабатывания функции, откуда мы потом берем $var для следующей функции на второй кнопке, где уже происходит mouseclick по $avar... Пока весь этот кошмар выглядит вот так: Код: #include <GUIConstantsEx.au3> Opt("GUIOnEventMode", 1) $mainwindow = GUICreate("101XP DK MNT TR", 300, 200) local $var = IniRead("config.ini", "config", "coord", "1,1") GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEClicked") $inputcoord = GUICtrlCreateInput("0,0", 20, 50, 100, 20) $okbutton = GUICtrlCreateButton("Старт", 120, 130, 60) $coordbutton = GUICtrlCreateButton("Определить", 200, 45, 80) GUICtrlSetOnEvent($okbutton, "OKButton") GUICtrlSetOnEvent($coordbutton, "COORDButton") GUISetState(@SW_SHOW) While 1 Sleep(1000) WEnd Func COORDButton() MsgBox(0, "Определение координат", "Наведите мышь") GUISetState(@SW_MINIMIZE) Sleep (5000) Local $pos = MouseGetPos() IniWrite("config.ini", "config", "coord", $pos) GUICtrlSetData($inputcoord, $pos) GUISetState(@SW_RESTORE) EndFunc Func OKButton() MsgBox(0, "GUI Event", "Перейдите на нужное окно") GUISetState(@SW_MINIMIZE) Sleep (1000) local $i=1 $knamnt = GUICtrlRead ($input) while $i<=$knamnt Sleep (100) $avar=StringSplit($var, ",") MouseClick("left",$avar[1],$avar[2]) $i = $i + 1 WEnd GUISetState(@SW_RESTORE) EndFunc Func CLOSEClicked() Exit EndFunc | Возможно (и скорее всего) я не прав и стоит поменять последовательность... | Всего записей: 173 | Зарегистр. 15-08-2006 | Отправлено: 14:31 23-02-2016 | Исправлено: MastuBasta, 14:33 23-02-2016 |
|