픽셀서치에는 색깔, 좌표값이 필요합니다.


F12:: ;마우스좌표값

mousegetpos, xx, yy

PixelGetColor, color, xx, yy

msgbox, 커서는 X%xx% Y%yy% `n, %color%  있습니다.

Clipboard=%xx%, %yy%, %color%

return


실행하면 현재 픽셀값, 좌표값이 나옵니다.


-mousegetpos

mousegetpos는 현재 마우스의 좌표값을 xx, yy 라는 변수에 저장합니다.


-pixelgetcolor

pixelgetcolor에서 color라는 변수에 xx,yy좌표의 색깔값을 저장합니다.


전 강의에서 본 msgbox는 아시죠.  


-clipboard

clipboard는 클립보드(임시저장소)에 값을 저장하는 것입니다.  ctrl+v 를 하시면 저장된 값을 붙여넣기 하실 수 있습니다.


그런데 변수?? 가 뭘까요 


값을 담을 수 있는 통이라고 생각하시면 됩니다.


그리고 msgbox에서 보고 싶다면 %%로 감싸야합니다. 일단 이쯤하고 넘어갑시다. 

(사실 제대로 이해하실지 걱정이 많네요 ㅠ.ㅠ;)  





이제 우리는 좌표와 색깔을 알 수 있습니다.  바탕화면으로 가서 크롬에 마우스커서를 올리고 f12를 눌려 좌표와 색깔을 가져옵시다!!


잘 되나요??


이제 이 값을 이용해서 픽셀서치를 할 겁니다.

37, 218, 0x4450DD


아,, 그전에  좌표의 개념을 잡고 가볼께요.


모니터 왼쪽상단에서 F12 핫키를 실행시켜 봅시다. 0,0 에 가까운 값이죠??

중간에서도 한번~

오른쪽 끝에서도 한번~   1920, 1200 에 가까운 값이죠??


네~ 맞아요 모니터의 해상도만큼의 크기의 사각형안에  가로, 세로 값에 점이 있는것이죠.


f5:: PixelSearch, Px, Py, 0, 0, 100, 300, 0x4450DD, 3, Fast if ErrorLevel MsgBox, 못찾았어요.. else MsgBox, 찾았습니다. X%Px% Y%Py%. return


-pixelsearch

pixelsearch, 의 px, py는  찾은 좌표를 저장할 변수의 이름입니다.


그 다음 0, 0, 100, 300 은  0 , 0  ~ 100, 300  만큼의 모니터 좌표를 검색하라는 뜻입니다.

제 컴퓨터 크롬의 좌표가 37, 218이니   당연히 찾을 수 있겠죠?


다음 0x4450DD라는 색깔을 넣습니다. 


다음 3은 정확도라고 보시면 됩니다. 현재 색상값에서 3개만큼 변한 값도 찾아준다는 뜻이죠. 

255가 맥스값입니다.  1로 갈수록 정확도가 높아지겠죠??


다음 fast는 빨리 찾는 옵션입니다.  지우면.. 느립니다. 역시 정확도와 관계되겠죠?


-찾았을 경우, 못찾았을 경우

if ErrorLevel 

에러레벨에서는 못찾았을 경우입니다.

else 밑에

우리가 할 행동을 쓰면 되겠죠~?


자 그럼 여러분이 찾은 좌표로 바꿔서 입력해주시고 실행해주세요~~


잘 되시나요??


이제 크롬을 클릭할 것입니다.


else 아래를 수정합니다.

else{

MsgBox,찾았어요

MouseClick, left, px, py,2

}


-mouseclick

mouseclick, 클릭할버튼, x좌표, y좌표,  클릭횟수 입니다.


참고) px, py 는 소문자고   위 스크립트의 Px, Py 변수는 대문자 이네요~   오토핫키는 대소문자를 구분하지 않습니다.



원래 특정사이트 접속후 로그인까지 진행하려고 했으나,,.,. 여기서 마무리 해야겠네요. ㅠ.ㅠ 다음 시간에 만나요


%먼저 오토핫키 설치하기를 보고 오토핫키와 편집기를 설치해주세요.


목표

  •  스크립트 만드는 법 배우기
  • 픽셀서치, 메시지박스, 마우스클릭, 좌표와색상 찾기 


1.폴더를 하나 만드시고 마우스우클릭-> AutoHokeyScript 를 선택해주세요


2. 스크립트 파일의 이름(아무거나 상관없습니다) 을 지정하고 엔터.

3. 파일을 마우스 우클릭-> Edit Script 클릭




4.sci편집기에 들어왔습니다. 





#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.

; #Warn  ; Enable warnings to assist with detecting common errors.

SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.

SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.


다음과 같은 네줄이 적혀있을 것입니다. 기본적인 세팅이니 일단은 신경쓰지 않으셔도 됩니다.


제대로 되는지 테스트 해보기 위해서, 아래에 핫키를 지정하고 메시지 박스를 띄워봅시다. 


f6:: 

msgbox, 안녕 오토핫키야

return


위 내용을 스크립트에 적은 후 Run script 아이콘을 눌려줍니다. 단축키(F5)







이제 오토핫키가 작업표시줄에서 실행 된 상태입니다.


f6을 눌려보시면 메시지 박스가 나옵니다.

나오나요?? 잘하셨습니다.


이제 소스를 살펴봅시다.


f6:: 

msgbox, 안녕 오토핫키야

return


-핫키


f6::    f6을 핫키로 지정한다는 뜻입니다. f7:: 이라고 하면 f7이 핫키가 됩니다.


! Alt
^ Control
+

Shift   


두가지 키를 조합해서 핫키를 만들수도 있습니다. 


!1::

은 alt + 1 을 눌렸을 때 동작하는 핫키가 됩니다.


키보드의 거의 모든키를 핫키로 지정할 수 있습니다. 자세한 건 다른 강의에서 한 번 다루도록 하겠습니다.


-메시지박스

msgbox, 원하는 메시지 


원하는 글자를 메시지박스로 출력해줍니다.


-return

끝을 나타낸다고 생각하시면 됩니다.  






잘못된 예제를 하나 실행해봅시다.


위 예제에서 적은 내용을 지우고 

다음 스크립트를 적고 저장을 해줍니다. File-> save  또는  단축키 ctrl + s

f6::

msgbox, 난 f6


f7::

msgbox, 난 f7

return

저장 후 reload (다시 불러오기) 를 꼭 해주셔야 합니다.


작업표시줄의 오토핫키 아이콘을 마우스우클릭-> Reload This Script




reload 후 f6을 눌러 실행해봅시다.


뭐가 잘못됬나요?? 


f6:: 핫키 이후에 return이 없어 끝을 인식하지 못하고 f7까지 실행하게 됩니다. 

return의 중요성 아시겠죠~



그리고 reload는 핫키로 지정해 놓으면 편리합니다.


f7::

Reload

return


스크립트를 수정하고  ctrl+s 로 저장한 다음, f7를 눌려주면 reload가 됩니다.

작업표시줄까지 찾아가려면 불편하잔아요~



이번 강좌는 여기서 마치도록 하겠습니다. 잘못된 점은 댓글로 지적해주세요.





윈도우7, 64비트 기준


초보자를 위한 강좌를 시작하겠습니다.



먼저 오토핫키를 설치하세요

AutoHotkey111901_Install (1).exe


그 다음 편집기를 설치해주세요

SciTE4AHK300601_Install.exe



편집기를 열었을 때 뜨는 업데이트를 해주세요

+ Recent posts