Автор Тема: [Мышь, клавиатура] как добавить второе условие условие скрипту?  (Прочитано 374 раз)

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

Оффлайн zmiter25 [?]

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

Описание: всем привет! пытаюсь сделать скрипт с двумя условиями, 1: если совпадает цвет пикселя (PixelSearch), 2: если зажата клавиша (_IsPressed), то нажать левый клик мыши. по отдельности оба работают нормально. но при попытки их соединить в один выдает ошибку.
Код: AutoIt [Выделить]
HotKeySet("{F6}","_Exit")
While 1
$Variable = PixelSearch(959,539,960,540,0xFEB133)
If IsArray($Variable) = True Then
MouseClick("LEFT")
Sleep (100)
EndIf
WEnd
Func _Exit()
Exit
EndFunc


и второй
Код: AutoIt [Выделить]
#include <Misc.au3>
#include <MsgBoxConstants.au3>

Local $hDLL = DllOpen("user32.dll")

While 1
    If _IsPressed("11", $hDLL) Then
        ConsoleWrite("_IsPressed - Shift Key was pressed." & @CRLF)
        ; Wait until key is released.
        While _IsPressed("11", $hDLL)
            Sleep(100)
            MouseClick("LEFT")
        WEnd
        ConsoleWrite("_IsPressed - Shift Key was released." & @CRLF)
    ElseIf _IsPressed("1B", $hDLL) Then
        MsgBox($MB_SYSTEMMODAL, "_IsPressed", "The Esc Key was pressed, therefore we will close the application.")
        ExitLoop
    EndIf
    Sleep(100)
WEnd

DllClose($hDLL)

 


Примечания: на сколько я понимаю они должны работать как на картинке? буду признателен за помощь.
(нажмите для показа/скрытия)


Внимание: Для просмотра прикреплённых файлов необходимо Войти или Зарегистрироваться
« Последнее редактирование: Октябрь 13, 2017, 03:17:24 от zmiter25, Причина: коррекция »

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


Оффлайн zmiter25 [?]

  • Новичок
  • *
  • Сообщений: 3

  • Автор темы
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
нашел команду "And", начало работать
(нажмите для показа/скрытия)
« Последнее редактирование: Октябрь 13, 2017, 14:53:00 от zmiter25, Причина: не заключил в тэг [autoit] »

Оффлайн joiner [?]

  • Расмус-бродяга
  • AutoIt Гуру
  • *****
  • Сообщений: 2531
  • Репутация: 432
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.12.0
в третьем коде из первого сообщения
Код: AutoIt [Выделить]
            If IsArray($Variable) = True Then
            Sleep(100)
            MouseClick("LEFT")

не хватает
Код: AutoIt [Выделить]

Постоянный клик в последнем примере потому, что установлен цикл слежения за нажатием
Код: AutoIt [Выделить]
        While _IsPressed("11", $hDLL)
      Sleep(100)
      MouseClick("LEFT")
        WEnd

Были времена, когда солнце было ярче, трава зеленее, а водка сорокоградуснее

Оффлайн zmiter25 [?]

  • Новичок
  • *
  • Сообщений: 3

  • Автор темы
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Спасибо! Добавил, все начало работать!
(нажмите для показа/скрытия)
в третьем коде из первого сообщения
 не хватает
Код: AutoIt [Выделить]
и на этом как бы можно и закончить. но хочется понять, что именно отвечает за цикл слежения. убираю
Код: AutoIt [Выделить]
  While _IsPressed("11", $hDLL)

ошибка. убираю WEnd
Код: AutoIt [Выделить]
        While _IsPressed("11", $hDLL)
      Sleep(100)
      MouseClick("LEFT")
        WEnd ;убираю эту строку

ошибка


Добавлено: Октябрь 13, 2017, 19:24:15
УРА!!! кажется стабильно работает!  :laugh: если нажата клавиша "23" (END), то проверяем цвет в квадрате по координатам, если совпадает то жмем левый клик мыши.
Код: AutoIt [Выделить]
#include <Misc.au3>
#include <MsgBoxConstants.au3>

Local $hDLL = DllOpen("user32.dll")

While 1
If _IsPressed("23", $hDLL) Then
        While _IsPressed("23", $hDLL)
            $Variable = PixelSearch(958,538,961,541,0xFEB133)
            If IsArray($Variable) = True Then
            MouseClick("LEFT")
            EndIf
        WEnd
EndIf
WEnd
DllClose($hDLL)
[quote]
 

ни где нет ни чего лишнего или неправильно на писаного?
« Последнее редактирование: Октябрь 13, 2017, 19:24:16 от zmiter25, Причина: Объединение сообщений »

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


 

Похожие темы

  Тема / Автор Ответов Последний ответ
4 Ответов
2735 Просмотров
Последний ответ Июнь 25, 2011, 10:23:38
от axlwor
1 Ответов
1366 Просмотров
Последний ответ Апрель 11, 2012, 03:37:51
от Kaster
4 Ответов
1876 Просмотров
Последний ответ Ноябрь 13, 2013, 01:13:25
от _ToBe_
1 Ответов
1002 Просмотров
Последний ответ Март 02, 2014, 14:41:54
от MnM
3 Ответов
862 Просмотров
Последний ответ Октябрь 07, 2014, 00:28:14
от CreatoR
8 Ответов
1703 Просмотров
Последний ответ Июнь 16, 2015, 18:50:49
от madmasles
3 Ответов
1104 Просмотров
Последний ответ Февраль 04, 2016, 11:55:32
от Alofa
8 Ответов
1320 Просмотров
Последний ответ Май 10, 2016, 11:13:37
от fensh
12 Ответов
1315 Просмотров
Последний ответ Февраль 22, 2017, 15:23:42
от Garrett
2 Ответов
317 Просмотров
Последний ответ Июнь 23, 2017, 12:54:41
от .me