Автор Тема: Клик мыши по координатам из файла, С периодичностью тоже из файла.  (Прочитано 1970 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн muhomo [?]

  • Новичок
  • *
  • Сообщений: 1
  • Репутация: 0
  • Пол: Мужской
    • Награды
Версия AutoIt:
3.3.8.1

Описание:
Только начал знакомство с автоитом. Соответственно есть цель:
1) Создать GUI для ввода данных и записи в файл.
2) Клик мыши по координатам из файла.

Цель:
В Gui вносится значение для "sleep" (обязательно ли записывать в файл? Можно ли просто значение подставлять в дальнейший макрос?)
Затем происходит клик мыши в определенный координат, нужного мне окна, по очереди (наверное построчно) из файла.
Клик мыши должен происходить: Нажал, передвинул на 40 пикселей вниз и отпустил.

Примечания:
Учусь и редактирую пошагово , что получилось.
ура научился сдвигать мышь относительно текущего положения. :laugh:

Код: AutoIt [Выделить]
WinActivate("[Title:***]")
AutoItSetOption("MouseCoordMode", 2)
;Клик мышой
MouseMove ( 29, 123 , 0 )
MouseDown ("left")
Sleep(600)
MouseMove ( MouseGetPos(0), MouseGetPos(1)+40 , 0 )
mouseup("left")
;Конец кликанья мышой
 

« Последнее редактирование: Июль 12, 2013, 07:56:33 от muhomo »

Русское сообщество AutoIt


Оффлайн madmasles [?]

  • Глобальный модератор
  • *
  • Сообщений: 7790
  • Репутация: 2314
  • Пол: Мужской
  • Награды За модерирование форума
    • Награды
  • Версия AutoIt: 3.3.x.x
ПредупреждениеЗа нарушение правил форума (пункт В.11):
Цитировать
Любые отрывки AutoIt кода необходимо заключать в тег [autoit] (подробнее), а обычный код соответственно в тег [code] (подробнее). Также большие выдержки текста помещайте под тег [spoiler] (подробнее), там где это поддерживается естественно. Как в случае с названием темы, также короткое и эргономичное сообщение привлекает больше внимания, и шансы на получение конкретного ответа увеличиваются.


С уважением, ваш Глобальный модератор.

Оффлайн MnM [?]

  • SoSerious
  • Продвинутый
  • ***
  • Сообщений: 679
  • Репутация: 90
  • Пол: Мужской
  • Post-Hardcore
    • Награды
  • Версия AutoIt: 3.3.12.0
Вот так вы хотели?
Код: AutoIt [Выделить]
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
$GUI = GUICreate("GUImouse", 243, 114, 365, 278)
$Lab1 = GUICtrlCreateLabel("Значения для Sleep = ", 0, 0, 115, 17)
$SleepV = GUICtrlCreateInput("", 115, 0, 121, 18)
$Lab2 = GUICtrlCreateLabel("Значение позиции Y =", 0, 64, 116, 17)
$Xp = GUICtrlCreateInput("", 120, 32, 121, 18)
$Lab3 = GUICtrlCreateLabel("Значение позиции X =", 0, 32, 116, 17)
$Yp = GUICtrlCreateInput("", 120, 64, 121, 18)
$Write = GUICtrlCreateButton("Записать", 0, 88, 75, 25)
$Execute = GUICtrlCreateButton("Выполнить", 88, 88, 75, 25)
GUISetState(@SW_SHOW,$GUI)
While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $Execute
            __Execute()
        Case $GUI_EVENT_CLOSE
            Exit
        Case $Write
            __WriteFile()
    EndSwitch
WEnd
Func __Execute()
    WinActivate("[Title:***]")
    Opt("MouseCoordMode",2)
    Local $Who[3]=[IniRead("PosMouse.ini","data","X",''),IniRead("PosMouse.ini","data","Y",''),GUICtrlRead($SleepV)]
    MouseMove($Who[0],$Who[1],1);Перемещает курсор по координатам
    MouseDown("Left");Зажимает левой кнопкой
    Sleep($Who[2]);Пауза указанная в GUI окне(не из файла)
    Local $Pos=MouseGetPos();Определение позиции курсора в массив
    MouseMove($Pos[0],$Pos[1]+40,1);Перемещение курсора в низ на 40 пикселей
    MouseUp("Left");Отпускание левой кнопки
EndFunc
Func __WriteFile()
    Local $Read[2]=[GUICtrlRead($Xp),GUICtrlRead($Yp)];Чтение в массив информации из GUI
    IniWrite("PosMouse.ini","data","X",$Read[0]);Запись в файл информации в стиле ini-файлов
    IniWrite("PosMouse.ini","data","Y",$Read[1])
EndFunc

Если вам нужно читать значения для Sleep из файла то могу исправить.
« Последнее редактирование: Июль 12, 2013, 12:57:52 от MnM »

Оффлайн ---Zak--- [?]

  • Скриптер
  • ****
  • Сообщений: 438
  • Репутация: 111
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Во как...  :IL_AutoIt_1:

ЗЫ: на ошибки не проверял...

(нажмите для показа/скрытия)

Замените только на нужное окно (81 строка):
Код: AutoIt [Выделить]
$WinTitle = "[CLASS:Notepad]"

« Последнее редактирование: Июль 12, 2013, 14:05:45 от ---Zak--- »
OS: WinXp SP3 (RUS), Win7 (x86/x64)


My development:
http://autoit-script.ru/index.php/topic,11541.0.html

Русское сообщество AutoIt


 

Похожие темы

  Тема / Автор Ответов Последний ответ
2 Ответов
1531 Просмотров
Последний ответ Декабрь 11, 2011, 22:56:12
от Zaramot
24 Ответов
8434 Просмотров
Последний ответ Август 22, 2013, 13:39:41
от Vagac
3 Ответов
3155 Просмотров
Последний ответ Август 05, 2012, 18:26:04
от ivsatel
3 Ответов
4561 Просмотров
Последний ответ Март 08, 2013, 09:13:59
от madmasles
0 Ответов
2188 Просмотров
Последний ответ Март 07, 2013, 05:38:15
от madmasles
0 Ответов
2754 Просмотров
Последний ответ Апрель 04, 2013, 06:50:41
от madmasles
3 Ответов
1391 Просмотров
Последний ответ Май 29, 2014, 12:26:33
от gloss
1 Ответов
1530 Просмотров
Последний ответ Август 26, 2014, 22:01:54
от madmasles
4 Ответов
1610 Просмотров
Последний ответ Сентябрь 26, 2014, 14:44:56
от madmasles
7 Ответов
1598 Просмотров
Последний ответ Ноябрь 13, 2014, 10:10:07
от madmasles