끄적끄적

반응형

참고사이트

http://autohotkeykr.sourceforge.net/docs/Tutorial.htm#s21

http://www.autohotkey.co.kr/cgi/contents.php?id=tutorial

 

 

# HTS를 조작하려면 '관리자 권한으로 실행'을 해줘야 한다.

 

# 윈도우키 + S (검색)에서 spy 입력 엔터

선택창의 이름

마우스 위치 :  Mouse Position

Absolute : 전체화면에서 마우스가 위치한 절대좌표 값

Relative : 선택창의 최상단을 기준으로 위치한 마우스 좌표 값

Client : 선택창의 내부화면 영역에서의 마우스 좌표

컬러 코드 : Color

선택창의 왼쪽 좌표 : x, y

선택 윈도우 크기 : w, h (위 : 테두리 포함 값, 아래 : 테두리 제외 내부화면 크기)

 

 

 

변수계산

a := 100 ;변수 a에 100을 저장합니다.

b := 200 ;변수 b에 200을 저장합니다.

 

plus := a + b ;변수 plus에 a와 b를 더한 값을 저장합니다.

plus = %a% + %b% ;변수 plus에 a와 b를 더한 값을 저장합니다.

;첫번째 소스와 다른점은 ':='가 '='로 바뀌고 뒤에있는 변수를 %로 감쌌다는 것입니다.

;보통은 %붙이기가 귀찮아서 ':='연산자를 더 많이 쓰는 편입니다.

 

 

# 기본

=

같다.

 

:=

변수값 대입

 

&&

AND (그리고)

 

||

OR (또는)

 

!=

NOT (아니다. 같지않다.)

 

;

주석처리

 

return

구간 끝

 

ExitApp

프로그램 종료 명령어

 

 

Loop, 횟수 { 내용 }

횟수만큼 반복

 

While (조건) { 내용 }

조건이 참일 때 반복

 

break

반복문 종료

 

if(조건) { 내용 }

조건이 참일 때 내용 수행

 

 

sleep, 1000

1초 휴식

 

msgbox, 내용

메세지 창 출력

 

 

Pause 정지 

 

 

 

 

#변수선언

사용자 함수에서 사용가능한 전역변수 선언

global 변수이름 := 초기값

 

 

 

변수사용

i = 1 + 1

i값은 1 + 1 문장

 

i := 1 + 1

i값은 숫자 2

 

 

 

변수값 1증가

변수++

 

 

# 키 입력 명령어 

Send

Sendinput

 

둘의 차이는 속도차이

Sendinput은 아주 빠르다.

 

글자 또는 문장 입력

Sendinput, 111111

 

특수키 입력

Sendinput, {키}

F1, A, 1. Alt, Space, Enter, Left, Right, Up, Down

 

Alt    :    !

Ctrl    :    ^

Shift    :    +

Win    :    #

 

Shift

Alt

Ctrl

 

LShift

LAlt

LCtrl

 

RShift

RAlt

RCtrl

 

 

'Alt+a'를 누르고 싶다면 

Send !a

 

숫자패드 키

Numpad0 ~ Numpad9

NumpadDel

NumpadAdd

NumpadEnter

 

LButton    왼쪽 버튼 

RButton    오른쪽 버튼 

MButton    중앙 버튼(휠 클릭) 

WheelDown    휠하 회전 

WheelUp     휠상 회전 

 

 

#사용자 함수

;선언 예)

함수이름(변수)

{

내용

 

return

}

 

;호출 예)

함수이름(변수)

 

리턴값을 받는 예)

변수 = 함수이름(변수)

 

 

# 오토핫키에서 관리자 모드로 실행하는 방법

 

Run, *RunAs python.exe -u e1111.py, F:\python\selenium

 

 

 

# Gui 추가

텍스트 박스

Gui, Add, Text, x위치 y위치 w크기 h크기 v변수, 내용

(v변수는 생략해도 됨)

 

버튼

Gui, Add, Button, x위치 y위치 w크기 h크기, 내용

 

입력 박스

Gui, Add, Edit, x위치 y위치 w크기 h크기 v변수, 내용

 

체크박스

Gui, Add, CheckBox, x위치 y위치 w크기 h크기 v변수, 내용

(변수값 체크되면 1, 해제되면 0)

 

콤보박스

Gui, Add, ComboBox, x위치 y위치 w크기 h크기 v변수 Choose1, 내용1|내용2|내용3|...

(선택항목 문자열이 변수 값이 됨, "변수값" 형태임)

 

 

슬라이더

VOLUME_SIZE := 0

SoundGet, VOLUME_SIZE

 
Gui, add, slider, x+10 y0 w100 h15 AltSubmit range0-100 gSlider_사운드 v새볼륨크기, %VOLUME_SIZE%
 
Slider_사운드:
{
SoundSet, %새볼륨크기%
Sleep, PUSH_SLEEP_TIME
}
return
 

;선언만 해놓고 실행하면 애러가 뜬다. 아래 문구도 작성해야 한다.

 

 

 

# Gui 표시

Gui, show, , 창이름, x y w h, 창 이름

 

 

#여러창 띄우기

Gui, 2번창: show, x50 y50 w100 h100, 두번째 창

Gui, 3번창: show, x50 y50 w100 h100, 세번째 창

 

창을 여러개 띄우려고 할 때 

Gui, Win1: add, button, x+10 y0 w50 h20, 시작

Gui, Win1: show, x0 y0 w1150 h20, WebControlHotKey

 

Win1Button시작:

{

;내용 작성

}

return

 

# Gui 동작 스크립트 작성

Gui종류+이름:

{

동작 스크립트

}

 

;Gui종류라 하면 Text, Button, ....을 지칭함.

 

예) 

Button시작:

{

내용

}

return

 

 

 

# GuiControl

Gui를 제어

 

GuiControl, 명령어, Gui에 할당된 변수이름, 내용

 

명령어

Move : 위치 이동

Hide : 숨기기

Enable : 활성화

Disable : 비활성화

 

반드시 변수가 할당되어 있어야 GuiControl을 이용해 제어가 가능하다.

 

 

비활성화 예)

;선언

Gui, Add, Button, x20 y100 w50 h30 v시작버튼, 시작    

 

;비활성화

GuiControl, Disable, 시작버튼,        

 

 

Text 내용변경

GuiControl, , Text에 할당된 변수이름, 내용

 

 

Edit 내용변경 

GuiControl, , Edit에 할당된 변수이름, 내용

Gui, Submit, nohide

 

;Text는 단순히 내용표시만 하지만 Edit는 이력된 값을 받아와서 사용하는 것이기 때문에 반드시 Gui, Submit, nohide를 적어줘야 한다.

 

 

Gui 이동

GuiControl, Move, Gui에 할당된 변수, 좌표크기 (x y w h)

 

 

 

# Gui 구성화면 업데이트

Gui, Submit, nohide

GuiControl, , 변수, 값

 

사용 예)

;선언

Gui, Add, Button, x30 y5 w100 h20, 버튼A

Gui, Add, Text, x30 y30 w100 h20 vCOUNT, 0

Gui, Show

 

클릭수 := 0

return

 

Button버튼A:

{

클릭수 := 클릭수 + 1

Gui, Submit, nohide

GuiControl, , COUNT, %클릭수% 회

}

return

 

 

 

#단축키 설정

단축키::

{

내용

}

 

예)

F2::

{

내용

}

 

 

# 동작 스크립트

CoordMode, 타겟, 옵션
 
타겟
pixel : 이미지를 찾거나 픽셀을 찾는 것
mouse : 마우스 클릭에 관련된 것
 
옵션
window : 활성화된 윈도우에서 찾기 원할 때
screen : 전체화면에서 찾을 때
 
CoordMode 값은 프로그램이 끝날 때까지 가지고 있는다. 프로그램 중간에 재설정 가능.
 
 
 
 
 
Click
 : 현재 위치에서 마우스 한 번 클릭
 
Click 10, 10
 : 좌표 x10 y10 위치에서 마우스 한 번 클릭
 
Send { click 10, 10 }
 : Click가 마우스만 사용한다면 Send는 마우스와 키보드 명령을 모두 보내수 있다.
 

 

 

# WinGetPos

윈도우의 위치를 얻을 수 있는 명령어

화면 전체에서 찾으면 속도가 느리다. 범위를 줄여 빠르게 찾을 때 사용한다.

 

WinGetPos, x좌표를 저장할 변수, y좌표를 저장할 변수, 윈도우 넓이w를 저장할 변수, 윈도우 높이h를 저장할 변수, 윈도우 타이틀

 

윈도우 타이틀은 작업관리자를 열어서 "응용프로그램| 탭에 있는 이름으로 적어줘야 한다. (띄워쓰기 까지 똑같이)

 

 

 

# 메세지박스 사용 예제

Esc::

{

MsgBox, 4 , 핫키 종료, 종료하시겠습니까?, 3

 

IfMsgBox, Yes ;메세지 박스에서 (얘)를 선택 할 경우

{

Exitapp

}

Else

{

WinActivate, MyHotKey.ahk - SciTE4AutoHotkey ; 가운데 특수문자 주의! 편집중이면 *, 실행 이나 저장 후면  -로 바뀐다.

;WinActivate, 팟플레이어

}

}

return

 

 

 


 

 

Gui, Add, text, x10 y10 w100 h20, 매크로 프로그램

Gui, add, button, x10 y30 w100 h20, 시작

Gui, add, button, x10 y50 w100 h20, 종료

Gui, show, ,매크로

return

 

Button시작:

{

;CoordMode, mouse, Screen

;CoordMode, mouse, window

CoordMode, Mouse, Screen

;Click 10,10

Send { click 10,10 }

}

return

 

Button종료:

{

ExitApp

}

return

 

GuiClose:

{

ExitApp

}

return

 

 

 

반응형
Please Enable JavaScript!
Mohon Aktifkan Javascript![ Enable JavaScript ]