2019년 2월 10일 일요일

[매크로] 오토핫키 중급 - ui 만들기

매크로를 이용하다 보면 매크로가 잘 작동하는지 확인하고 싶을 때가 많습니다. 계속 작동하고 있는지 몇 번이나 작동했는지 확인하기 위해선 ui를 만들어야 합니다. 아주 간단한 ui를 만들어 봅시다.

ui를 만드는 방법은 간단합니다. gui, add, text나 Button, x좌표, y좌표, w폭, h높이, 이름으로 만들 수 있습니다. text면 글씨만 입력됩니다. Button은 클릭할 수 있는 버튼을 만듭니다.마지막으로 gui, Show를 해줘야 ui가 출력됩니다.
gui, add, text, x57 y10 w80 h20, 매크로
gui, add, text, x65 y30 w50 h20 vA, 0초
gui, add, Button, x20 y50 w110 h20, 시작
gui, add, Button, x20 y80 w110 h20, 종료
gui, Show
return
저는 매크로라는 ui 이름과 시작, 종료 버튼을 만들었습니다. 한가지 더 0초라는 text를 만들었는데 h높이 이름 사이에 vA를 하나 더 붙여줬습니다. 이렇게 한 이유는 A라는 위치를 설정해 두고 A를 특정한 값으로 계속 변화시키기 위해서 입니다. 저는 매크로 실행 시간을 알고 싶어서 시간의 변화를 A에 넣으려고 합니다.

이 코드 다음에 return을 넣어야합니다. return 문을 만나면 처음으로 다시 돌아가게 됩니다. return을 적지 않으면 Button을 누르지 않더라도 다음 코드가 바로 실행되어서 Button의 의미를 상실하게 됩니다.

이제 시작 Button을 눌렀을 때 실행되는 코드를 작성해야 합니다.
Button시작:
{
     time:=0
  
     loop{
  
        time:=time+1
        sleep,1000
     
        guicontrol,,A,%time%초

     }
  
}
Button시작:{ }을 하면 위의 시작 버튼을 눌렀을 때 가로 안의 코드가 실행됩니다.

A라는 위치에 시간변화를 표현하기 위해서 처음값이 0인 time 변수를 생성합니다. 그 다음 loop{ } 문을 적은 뒤 안에 time:=time+1을 적어 time을 1씩 증가하게 하고 sleep,1000을 적어 1초의 시간 간격을 넣습니다.

A라는 위치를 계속 변화 시키기 위해서는 gui,,A,%time%초로 작성해야 합니다. A 위치를 %time%초로 변화 시킨다는 의미이며 문자가 아닌 문자 안의 값으로 표현하기 위해서 %time%로 코드를 작성해야 합니다. %%를 넣지 않는다면 'time초'가 출력됩니다.

종료 Button을 눌렀을 때 종료되는 코드를 작성해봅시다.
Button종료:
{
 
  ExitApp
  
}
Buttion종료:{ }안에 App을 종료하는 코드인 ExitApp을 넣으면 됩니다.

간단한 오토핫키 ui 최종 코드는 아래와 같습니다.
gui, add, text, x57 y10 w80 h20, 매크로
gui, add, text, x65 y30 w50 h20 vA, 0초
gui, add, Button, x20 y50 w110 h20, 시작
gui, add, Button, x20 y80 w110 h20, 종료
gui, Show

return

Button시작:
{
 
     time:=0
  
  loop{
  
      time:=time+1
      sleep,1000
     
      guicontrol,,A,%time%초

     }
  
}

Button종료:
{
 
     ExitApp
  
}
제작한 매크로 ui에서 시작 Button을 누르면 아래 동영상과 같이 정상적으로 작동하는 것을 확인할 수 있습니다.


※ 참고문헌
https://elderlykims.tistory.com/ 킴영감 이야기
http://blog.naver.com/PostView.nhn?blogId=geforce_radeon&logNo=221111050583&redirect=Dlog&widgetTypeCall=true&directAccess=false

0 개의 댓글:

댓글 쓰기