상세 컨텐츠

본문 제목

AutoHotkey

Tutorial/AutoHotkey_AutoIt

by hwano 2014. 10. 27. 17:54

본문

찾아보니 매크로프로그램들 중에선 압조적으로 autohotkey가 많이 쓰이고 있고

자료도 많은거 같은데 왜 autoit을 쓰고 있었는지..

암튼 autohotkey 프로그램을 훑어보자.

 

 

참고자료 및 사이트

 

공식홈페이지

http://www.autohotkey.com/

 

AutoHotkey를 사용하는 사람들

http://v1.autohotkey.co.kr/

 

한국대표포럼

http://www.autohotkey.co.kr/

 

내용정리가 잘 된 개인 블로그

http://iamaman.tistory.com/

 

한글강좌 연재

http://tvdusdo.tistory.com/

 

 

스크립트 편집기

 

AutoHotkey는 AutoIt처럼 스크립트편집 프로그램까지 제공하지 않는다.

다른 편집기를 이용해야 하는거 같다.  sublime text 2를 이용하기 위해 찾아보았다.

여러사람들의 자료가 있지만 개중에 요걸로 진행하려 한다.

https://github.com/robertcollier4/AutoHotkey

 

설치법은 오른쪽 download zip으로 다운받고 서브라임 data dir\Packages\AutoHotkey에 압축을 푼다.

서브라임 data dir는 %APPDATA%\Sublime Text 2를 입력하면 뜬다.

 

응? 여기에 압축만 풀고 sublime을 실행시키면 자동으로 syntax도 되고 하는듯? 

사용해보면서 다시 확인하자,,   

 

개발 프로그램을 IDE라고 하는데 일반적으로 SciTE4AutoHotkey프로그램을 많이 쓰는거 같다.

http://fincs.ahk4.net/scite4ahk/

GUI를 만들때 유용한 SmartGUI Creator 등도 포함되어 있다고 하니 서브라임보다 이쪽이 더 나은거 같다.

 

 

AutoHotkey 프로그램들

 

autohotkey    -   키보드의 단축키를 이용하여 매크로 사용이 가능한 프로그램

autoScriptWriter     -    사용자의 키보드와 마우스의 움직임을 녹화하는 프로그램

compiler ahk2exe    -    ahk파일을 exe로 변환해 주는 프로그램

 

 

 

간단한 개념들

 

auto + hotkey 라는 이름답게 특정키를 누르면 지정된 스크립트가 실행되도록 되도록 사용하는게

가장 단순한 사용법이다. 하지만 단축키가 지정되어 있지 않으면 스크립트가 순차적으로 실행되어

명령을 수행하므로 AutoIt 작성할때와 같은 방법으로 사용해도 무방하다.

 

새로 스크립트를 만들때는 그냥 윈도우 폴더창에서 우클릭 / 새로만들기 / autoHotkey 로 만들면된다.

만들어진 스크립트 파일은 메모장등으로 수정해서 사용한다.

( 때문에 sublime같은 text편집기가 따로 필요하다. )

 

 

 

단축키 설정

 

#n::Run Notepad

^!c::Run calc.exe

 

이런식으로 쓴다.

#n은 WIN + N

^!C는 Ctrl + Alt + C

 

만약 하나의 단축키에 여러 행의 명령어를 넣는다면 마지막에 return을 붙여주면 된다.

#n::

Run Notepad

Run calc.exe

return

 

 

시스템 Path

 

위와 같이 경로없이 바로 Notepad라는 명령어로 프로그램을 실행할 수 있는건

시스템 path가 잡혀있기 때문이다.

 

프로그램 path의 경우 %ProgramFiles%\autodesk\maya

이런식으로 %ProgramFiles%로 써야 각 컴퓨터마다의 경로가 달라도 실행할 수 있게 된다.

 

 

윈도우 관련 주요 명령어들

 

ifWinActive      - 윈도우가 현재 활성 상태인지 확인

WinWaitActive    - 윈도우가 활성화 될 때 까지 기다린다. ( 주로 run 명령어 후 사용 )

WinClose    - 윈도우창 닫기

WinMove    - 윈도우를 이동시키거나 크기를 조절

WinMinimize, WinMaximize, WinRestore   - 윈도우 최소화, 최대화, 복원

 

 

AutoHotkey의 변수들

 

모든 변수는 전역변수이며,  변수는 따로 선언할필요가 없다.

그리고 모든 변수의 타입은 문자형이다. float, str, double 이런 개념은 없다.

 

MsgBox 변수 testNum의 값은 %testNum%이다.

 

이와 같이 testNum변수의 값을 어떤곳에 출력할때 %로 앞뒤로 감싸면 된다.

 

 

AutoHotkey의 줄바꿈, 대소문자 규칙

 

autohotkey의 스크립트는 줄바꿈 기호 ';'같은게 없게 때문에 줄바꿈에 민감하다.

예를들어 아래나올 loop같은 경우

 

Loop 3

{

MsgBox 야호

}

이렇게 써야하는데

 

Loop 3 {MsgBox 야호} 요런식으로 줄이면 작동을 하지 않고 에러가 난다.

Loop같은 명령어는 loop로 적든 LOOP로 적든 대소문자 관계없이 다 작동한다.

 

 

반복구문 loop

 

기본형

Loop 3

{

MsgBox 야호

}

 

wihle do형

While do형을 loop로 대신해서 쓴다.

Loop

{

if not GetKeyState("F1", "p")

break

click

}

return

위와 같은 경우는 루프에 숫자가 지정되어 있지 않으므로 무한 루프를 돈다.

F1이 눌러져 있는 동안에는 클릭이 무한정 반복되고 키에서 손을 때면 클릭이 정지된다.

 

 

파일, 폴더 관련 명령어들

 

fileread  -  파일을 읽는다

file-reading loop  -  텍스트 파일에서 한 행씩 문자영을 읽는다.

ifExist  - 파일이나 폴더의 존재여부를 검사한다

fileSeletfile, fileSelectFolder  -  파일이나 폴더 선택상자를 열어 선택할수있게 한다.

fileDelete, fileRecycle, fileRemoveDir   - 파일을 완전 삭전삭제, 휴지통 이동, 폴더 삭제

filecopy, fileMove, fileCopyDir, fileMoveDir

file Loop  -  폴더에 포함된 파일이나 정보를 하나씩 읽는다

fileSetAttrib, fileSetTime - 파일의 속성이나 시간정보를 수정한다

iniRead, iniWrite, iniDelete - INI형식의 파일을 생성하거나 읽거나 삭제

regRead, regWrite, regDelete, registry loop  -  레지스트리 관련

 

 

 

 

 

 

 

관련글 더보기