Autohotkey 를 사용하면 화면의 이미지를 검색하고 클릭하는 등의 작업을 할 수 있습니다. 이러한 작업을 하기 위해서는 Autohotkey 의 ImageSearch 함수를 사용하면 됩니다.
ImageSearch 함수를 사용하기 위해서는 먼저 찾고자 하는 이미지를 캡쳐 해야 합니다. 윈도우 키를 누른 후에 캡처라고 타이핑 해 보면 캡처 도구가 나옵니다. 캡처 도구를 실행한 후에 검색할 이미지 부분을 캡처 합니다. 제 개인적인 경험에 의하면 아래 포스팅에서 소개했던 prtscr 프로그램을 사용해서 캡처 하는 경우 autohotkey 이미지서치 기능이 정상적으로 동작하지 않는 경우가 있었습니다.
http://iamaman.tistory.com/630
그래서 저는 오토핫키 ImageSearch 기능을 사용하는 경우에는 윈도우 캡처 도구를 사용합니다. 그리고 캡쳐 완료 후에는 해당 이미지를 파일로 파일로 저장 합니다.
아래 코드 예는 구글문서의 음성 인식 마이크를 클릭하는 예 입니다. 윈도우 캡처 도구를 사용하여 마이크 모양에 대한 이미지 부분을 캡처 했고 "C:\캡처.PNG" 경로에 저장했습니다.
#NoEnv
SetWorkingDir %A_ScriptDir%
#SingleInstance Force
CoordMode,Pixel, Screen
CoordMode,Mouse, Screen
ImageSearch, FoundX, FoundY, 0, 0, A_ScreenWidth, A_ScreenHeight, C:\캡처.PNG
If ErrorLevel = 0
{
Click, %FoundX%, %FoundY% Left, 1
}
ExitApp
위 코드를 실행해 보면 이미지의 좌측 상단 부분으로 마우스 커서가 이동하는 것을 확인할 수 있습니다.
보통의 경우 이미지 서치는 마우스클릭을 하기 위해 동작시키는 것이므로 이미지의 중간 부분을 검출에 되는 것이 편할 겁니다.
이를 위해서는 다음과 같은 코드를 사용하면 됩니다 아래 코드에서 CenterImgSrchCoords() 함수 부분은 Pulover's Macro Creator 를 사용하여 생성한 코드 부분 입니다.
에서 생성한 부분입니다.
#NoEnv
SetWorkingDir %A_ScriptDir%
#SingleInstance Force
CoordMode,Pixel, Screen
CoordMode,Mouse, Screen
CenterImgSrchCoords(File, ByRef CoordX, ByRef CoordY)
{
static LoadedPic
LastEL := ErrorLevel
Gui, Pict:Add, Pic, vLoadedPic, %File%
GuiControlGet, LoadedPic, Pict:Pos
Gui, Pict:Destroy
CoordX += LoadedPicW // 2
CoordY += LoadedPicH // 2
ErrorLevel := LastEL
}
ImageSearch, FoundX, FoundY, 0, 0, A_ScreenWidth, A_ScreenHeight, C:\캡처.PNG
CenterImgSrchCoords("C:\캡처.PNG", FoundX, FoundY)
If ErrorLevel = 0
{
Click, %FoundX%, %FoundY% Left, 1
}
ExitApp
CenterImgSrchCoords() 함수의 코드를 확인해 보면 이미지를 로드 한 후에 가로, 세로 폭을 알아내고 해당 폭의 절반을 이미지검색 초기값에 더 해 주는 것을 확인할 수 있습니다.
위 코드를 실행해 보면 다음과 같이 마우스 커서가 검색된 이미지의 중간 부분을 클릭하는 것을 확인 할 수 있습니다.
'programming language > Autohotkey' 카테고리의 다른 글
Autohotkey 를 사용하여 티스토리 글쓰기시 tag 쉽게 넣기 (0) | 2018.04.04 |
---|---|
PC 생산성 향상 프로그램 Autohotkey!! 업데이트 됐네요~ (0) | 2018.04.01 |
Autohotkey 강좌 날짜 계산 방법 (2) | 2018.03.24 |
Autohotkey 를 사용하여 반복 없애기(생산성 향상) (0) | 2018.03.13 |
Autohotkey DTW(Dynamic Time Warping) 를 사용한 글자 매칭 (0) | 2018.01.09 |
Autohotkey 에서 C# 으로 만들어진 dll 사용하기 (0) | 2017.12.27 |
SciTE4AutoHotkey 의 아웃풋에 텍스트 표시 방법 (0) | 2017.12.08 |
Autohotkey(오토핫키)를 사용하여 창 닫기 (0) | 2017.12.08 |
댓글