본문으로 건너뛰기

단계, 스크립트, AutoHotkey

작업 내용은 세 가지 방법으로 작성할 수 있습니다. 작업 페이지의 수행할 작업 카드에 있는 작성 방식에서 어느 것을 실행할지 선택합니다.

수행할 작업
작성 방식
단계스크립트AutoHotkey
각 모드는 자체 내용을 유지합니다. 선택한 모드만 실행됩니다.
방식설명선택하는 경우
단계고르고 채우는 단계 목록으로, 단계마다 한 행입니다. 입력할 코드가 없습니다.코드를 작성하지 않고 작업을 만들고 싶을 때. 키 보내기, 텍스트 입력, 창 이동이나 닫기, 대기, 질문하기 등 대부분의 작업에 맞습니다.
스크립트코드 편집기에 입력하는 Input.Observer 자체의 스크립트 언어입니다.산술, 조각으로 텍스트 만들기, 변수로 세는 반복, 또는 단계로 표현할 수 없는 것이 필요할 때.
AutoHotkeyAutoHotkey 자체가 실행하는 AutoHotkey v2 스크립트입니다.이미 AutoHotkey 코드가 있거나 AutoHotkey만 할 수 있는 일이 필요할 때.

단계와 스크립트는 Input.Observer 안에서 실행되며 같은 기본 제공 함수를 호출합니다. 단계는 스크립트가 할 일을 시각적으로 작성하는 방법입니다. 단계와 스크립트 언어 참조를 참조하십시오.

방식마다 자체 내용을 유지​

작업에는 단계 본문, 스크립트 본문, AutoHotkey 본문이 나란히 들어 있습니다. 작성 방식 ①을 바꾸면 어느 것이 실행될지만 바뀝니다. 다른 본문은 절대 삭제되지 않으므로 다시 전환할 수 있습니다.

선택한 방식이 비어 있고 다른 방식에 내용이 있으면, 전환 단추 아래의 안내에 작업을 실행해도 아무 일도 하지 않는다고 표시되며 내용이 있는 방식을 사용하는 단추가 제공됩니다.

단계에서 스크립트로 전환​

작업에 단계가 있고 스크립트 본문이 비어 있을 때 단계에서 스크립트로 전환하면, Input.Observer는 단계를 변환해 주겠다고 제안하며 단계를 스크립트로 변환하시겠습니까? 질문을 표시합니다. 변환을 선택하면 변환 결과가 스크립트 편집기에 들어갑니다.

  • 단계는 그대로 남습니다. 다시 단계로 전환하면 바뀌지 않은 단계가 표시됩니다.
  • 반대로 변환되는 것은 없습니다. 스크립트를 단계로 바꿀 수는 없습니다.
  • 다음 조건인 동안 반복, 다음 조건이 될 때까지 반복, 반복 끝내기, 단계 중지를 사용하는 단계는 스크립트에 대응하는 문이 없으므로 변환이 제공되지 않습니다. 전환은 여전히 할 수 있으며, 스크립트 본문이 빈 상태로 시작할 뿐입니다.
  • AutoHotkey는 어느 방향으로도 변환되지 않습니다.
  • 단계가 레코더 페이지에서 기록한 것이면, 대화 상자에 스크립트가 재생 속도와 재생 마우스 경로 세부 수준을 무시한다는 내용도 표시됩니다. 스크립트의 대기는 기록된 속도로 실행되고, 기록된 모든 마우스 이동이 재생됩니다(레코더 설정).

단계에서 스크립트로에서 각 단계가 무엇으로 바뀌는지 보여 줍니다.

AutoHotkey​

AutoHotkey는 AutoHotkey 작업이 실행될 때 Input.Observer가 시작하는 별도의 프로그램입니다. 함께 제공되지 않으므로 AutoHotkey v2를 직접 설치하고 Input.Observer에 위치를 알려 주어야 합니다.

  1. AutoHotkey v2를 설치합니다.
  2. 일반 페이지에서 AutoHotkey 사용을 켜고 AutoHotkey 실행 파일을 AutoHotkey64.exe 같은 프로그램 파일로 설정합니다.
  3. 이제 작성 방식 아래에 AutoHotkey가 나타납니다. 엔진이 새 설정을 사용하도록 변경 내용을 적용합니다.

규칙:

  • AutoHotkey는 AutoHotkey 사용이 켜져 있는 동안, 또는 작업이 이미 AutoHotkey로 실행되는 경우에만 작성 방식 아래에 제공됩니다. AutoHotkey가 꺼진 상태의 AutoHotkey 작업은 아무것도 하지 않으며, 페이지에 그렇다고 표시됩니다.
  • 일반 AutoHotkey 빌드를 사용하십시오. AutoHotkey64_UIA.exe처럼 이름에 _UIA가 있는 빌드는 Input.Observer에서 스크립트를 실행할 수 없습니다.
  • AutoHotkey가 켜져 있는데 시작할 때나 구성을 다시 로드할 때 프로그램을 찾을 수 없으면, Input.Observer가 AutoHotkey 실행 파일 찾아보기 또는 그대로 두기 중에서 선택하도록 묻습니다.
  • 실행할 때마다 스크립트와 함께 새 AutoHotkey 프로세스가 시작됩니다. 이 프로세스는 Input.Observer의 기본 제공 함수를 호출할 수 없으며, 스스로 끝날 때까지 실행됩니다. 모든 작업 중지 단축키로 끝낼 수 있습니다.
  • 스크립트보다 먼저 Input.Observer가 IO_ActionName, IO_TriggerKind, 제스처나 단축키의 창처럼 트리거를 설명하는 변수를 설정합니다(AutoHotkey 변수). 편집기의 여기서 사용할 수 있는 변수 목록에 작업의 트리거가 제공하는 변수가 표시되며, 클릭하면 삽입됩니다.
  • 스크립트가 표준 출력에 쓴 내용은 AHK:로 시작하여 진단 콘솔에 표시됩니다(콘솔).

단계 또는 스크립트 작업도 AutoHotkeyExecuteScript 기본 제공 함수로 AutoHotkey 코드 조각을 실행할 수 있습니다. 같은 설정과 실행 파일이 적용됩니다.

AutoHotkey 변수​

AutoHotkey를 실행할 때마다 Input.Observer가 스크립트 앞에 몇 줄을 추가하여, 작업을 트리거한 것에서 IO_ 변수를 설정합니다. 이는 AutoHotkey로 작성한 작업과 AutoHotkeyExecuteScript로 실행한 코드 모두에 적용되며, 후자는 그것을 호출한 작업의 변수를 받습니다.

모든 실행에서 다음 세 변수가 설정됩니다.

변수값
IO_ActionName작업 이름. 전역 이벤트의 경우 Global_Event_ 뒤에 구성 파일의 이벤트 이름이 붙습니다(예: Global_Event_release, Global_Event_foreground_changed). 콘솔에서 실행한 스크립트처럼 아무것도 트리거하지 않은 실행에서는 비어 있습니다.
IO_AppGroupName작업이 발견된 앱 그룹 이름(예: Global). 전역 이벤트에서는 비어 있습니다.
IO_TriggerKind실행을 트리거한 것: Gesture, Hotkey, TextExpansion, MouseButton(마우스 단추 또는 그리기 단추를 놓음 전역 이벤트), Wheel(휠 전역 이벤트), 또는 None.

나머지는 트리거에 따라 다르며, 해당 트리거의 변수만 설정됩니다.

트리거변수값
제스처IO_GestureWindow제스처를 시작한 위치의 창
IO_GestureButton그리기 단추: left, right, middle, x1, x2
IO_GestureStartX, IO_GestureStartY획이 시작된 위치
IO_GestureEndX, IO_GestureEndY획이 끝난 위치
IO_GestureBoundsLeft, IO_GestureBoundsTop, IO_GestureBoundsRight, IO_GestureBoundsBottom획 전체를 둘러싼 사각형
IO_GesturePoints그린 순서대로의 획의 모든 점. [x, y] 배열의 배열
단축키IO_HotkeyWindow단축키를 눌렀을 때 맨 앞에 있던 창
IO_HotkeyVkCode마지막 키의 Windows 가상 키 코드(예: K는 75)
IO_HotkeyModifiers조합의 한정자 키를 더한 값: Ctrl 1, Shift 2, Alt 4, Win 8(Ctrl+Alt는 5)
텍스트 확장IO_TextExpansionWindow텍스트를 입력한 창
IO_TextExpansionPattern입력한 약어
마우스 단추 이벤트IO_MouseWindow포인터 아래의 창
IO_MouseButton단추: left, right, middle, x1, x2
IO_MouseX, IO_MouseY포인터가 있던 위치
휠 이벤트IO_WheelWindow포인터 아래의 창
IO_WheelDeltaWindows가 보고하는 휠 회전량: 일반 휠 한 칸은 120(부드러운 스크롤 휠과 터치패드는 더 작은 단위를 보냄), 사용자에게서 먼 쪽(또는 오른쪽)은 양수, 가까운 쪽(또는 왼쪽)은 음수
IO_WheelHorizontal옆으로 돌린 휠이면 true, 일반 휠이면 false
IO_WheelX, IO_WheelY포인터가 있던 위치
  • 창은 창 핸들로, AutoHotkey가 창 ID로 읽는 숫자입니다. "ahk_id " IO_GestureWindow는 WinActivate, WinGetTitle 등 창 함수에서 그 창을 지정합니다.
  • 위치는 주 모니터의 왼쪽 위 모서리를 기준으로 한 실제 픽셀 단위의 화면 좌표입니다. AutoHotkey의 마우스 함수는 기본적으로 활성 창을 기준으로 동작하므로, 이 좌표를 쓰기 전에 CoordMode "Mouse", "Screen"을 설정하십시오.
  • 텍스트는 있는 그대로 전달됩니다. 작업 이름이나 그룹 이름의 따옴표, 백틱, 줄 바꿈은 자동으로 이스케이프됩니다.
  • 트리거가 제공하지 않는 변수는 아예 설정되지 않으며, AutoHotkey는 설정되지 않은 변수를 읽으면 스크립트를 중지합니다. 여러 종류의 트리거가 있는 작업이나 여러 작업에서 호출하는 코드 조각은 먼저 IO_TriggerKind를 확인하거나 IsSet(IO_GestureWindow)를 사용해야 합니다.

예를 들어 제스처나 단축키로 실행되며, 사용한 창을 앞으로 가져오고 제목을 표시하는 작업은 다음과 같습니다.

CoordMode "Mouse", "Screen"
win := IO_TriggerKind = "Gesture" ? IO_GestureWindow : IO_HotkeyWindow
WinActivate "ahk_id " win
MsgBox WinGetTitle("ahk_id " win), IO_ActionName

플러그 인 스크립트 엔진​

플러그 인은 자체 스크립트 엔진을 추가할 수 있습니다. 그러면 작성 방식 아래에 플러그 인 이름으로 나타나며, 그곳에 입력한 텍스트는 작성한 그대로 플러그 인에 전달됩니다. Input.Observer는 이를 검사하지 않습니다. 그 엔진을 제공하는 플러그 인이 실행 중이 아니면, 페이지에 작업이 실행될 때 건너뛰어진다는 경고가 표시됩니다. 플러그 인을 참조하십시오.

간단히 모드에서​

간단히 모드에서는 이미 스크립트나 AutoHotkey 본문이 있는 작업에만 작성 방식이 표시됩니다. 그 밖의 작업은 카드에 단계가 바로 표시됩니다. 새 작업을 스크립트로 작성하려면 창을 고급 모드로 전환하십시오 (구성 창).