01 오토핫키 v2

Estimated reading: 1 minute 70 views

오토핫키(AutoHotkey, AHK)는 Windows용 오픈 소스 스크립팅 언어로, 키보드와 마우스를 자동화하거나, 핫키와 매크로를 생성하고, 다양한 GUI 애플리케이션을 개발할 수 있는 강력한 도구입니다. AutoHotkey는 자동화, 스크립트 작성, 게임 매크로, 업무 효율화 등 다양한 분야에 사용됩니다.

오토핫키의 주요 특징은 다음과 같습니다:

  • 단축키, 매크로 생성: 키보드 단축키와 마우스 동작을 쉽게 자동화할 수 있습니다.
  • GUI 생성: 버튼, 입력창, 목록 등 사용자 인터페이스(UI)를 쉽게 생성할 수 있습니다.
  • 윈도우 제어 및 자동화: 특정 창을 제어하거나, 입력값을 자동으로 입력할 수 있습니다.
  • 파일 입출력: 파일을 생성, 읽기, 쓰기 및 삭제할 수 있습니다.
  • 스크립트 자동화: 업무 자동화와 게임 매크로에 매우 유용합니다.

오토핫키는 두 가지 주요 버전인 v1.1v2로 나뉩니다. v2v1.1의 단점을 개선하고 더 직관적이고 현대적인 문법을 채택하여 스크립트 작성이 더 쉬워졌습니다.

오토핫키 v2의 주요 특징

오토핫키 v2는 v1.1의 주요 단점을 보완하고, 일관성 있는 문법더 강력한 기능을 추가한 버전입니다. v1.1 사용자는 v2로 업그레이드할 때 약간의 학습 곡선이 있을 수 있지만, 명확하고 직관적인 문법 덕분에 장기적으로는 훨씬 더 쉽게 코드를 관리할 수 있습니다.

1. 일관성 있는 문법

  • 명령어를 모두 함수 스타일로 변경

    • v1.1: MsgBox, Hello
    • v2: MsgBox("Hello")
  • 변수 할당 방식 변경

    • v1.1: Var = 10
    • v2: Var := 10 (모든 변수 할당에 := 사용)
  • GUI 컨트롤 추가 방식 변경

    • v1.1: Gui, Add, Button, x10 y10, OK
    • v2: “`autohotkey
      MyGui := Gui()
      MyGui.Add(Button, x10 y10, OK)

2. 직관적인 함수 스타일

  • v2에서는 모든 명령어가 함수 스타일로 바뀌었습니다.
  • 예를 들어, 파일 읽기 명령어는 v1.1에서는 FileRead, OutputVar, File.txt로 작성되었지만, v2에서는 FileRead("File.txt")로 간단하게 작성할 수 있습니다.

3. 강력한 객체 지향 프로그래밍(OOP) 지원

  • v2는 클래스와 메서드를 완벽하게 지원합니다.
  • 사용자 정의 클래스와 메서드를 사용하여 객체 지향 프로그래밍을 구현할 수 있습니다.
class Person {
    __New(name) {
        this.name := name
    }
    Greet() {
        MsgBox(안녕하세요,  this.name 님!)
    }
}

person := Person(오토소장)
person.Greet()

4. GUI 생성 및 이벤트 처리 방식 개선

  • v1.1의 GUI 명령어는 전역적으로 작동했지만, v2에서는 GUI 객체로 다룰 수 있습니다.
  • GUI 컨트롤을 추가하고 이벤트를 연결할 수 있습니다.
MyGui := Gui()
MyButton := MyGui.Add(Button, x10 y10, 클릭)
MyButton.OnEvent(Click, () => MsgBox(버튼이 클릭되었습니다!))
MyGui.Show(w200 h100)

5. 다양한 이벤트 핸들링 (OnEvent)

  • v2에서는 OnEvent() 함수를 사용하여 GUI, 키보드, 마우스, 핫키 등 모든 이벤트를 제어할 수 있습니다.
  • 예를 들어, 버튼 클릭을 감지하거나 마우스 이동을 추적할 수 있습니다.
MyGui := Gui()
MyButton := MyGui.Add(Button, x10 y10, 클릭)
MyButton.OnEvent(Click, () => MsgBox(버튼이 클릭되었습니다!))
MyGui.Show(w200 h100)

6. Try-Catch로 에러 핸들링 추가

  • v2에서는 Try-Catch 구조를 지원하여 에러를 잡고 예외 처리를 할 수 있습니다.
Try {
    FileDelete(없는파일.txt)
} Catch e {
    MsgBox(에러가 발생했습니다:  e.Message)
}

7. 다양한 추가 기능

  • Try-Catch 에러 핸들링: 예외 발생 시 동작을 제어할 수 있습니다.
  • WinTitle 매개변수 단순화: v2에서는 WinTitle, WinText 등 복잡한 구문을 간단히 사용할 수 있습니다.
  • 마우스 및 키보드 이벤트 제어 개선: v2에서는 키보드 입력, 마우스 동작, 핫키 등을 더 쉽게 제어할 수 있습니다.

오토핫키 v2는 v1.1에 비해 더 직관적이고 명확한 문법을 제공합니다. 모든 명령어가 함수 스타일로 변경되었고, 객체 지향 프로그래밍(OOP)을 완벽하게 지원합니다. 또한, 이벤트 핸들링(OnEvent)이 추가되어 버튼 클릭, 마우스 이동, 키보드 입력 등 다양한 작업을 쉽게 제어할 수 있습니다.

v1.1 사용자v2로 전환할 때는 다소의 학습이 필요하지만, 코드 가독성과 유지보수성이 크게 향상됩니다. 신규 사용자라면 v2부터 배우는 것이 훨씬 더 유리합니다.

Subscribe
Notify of
guest
0 댓글
Inline Feedbacks
View all comments