에디터 오토핫키 RPA 업무 자동화 매크로 만들기 - 조건과 반복문을 이용한 윈도우 화면 보호기 방지. (Loop, until)
페이지 정보
본문
안녕하세요. 엔지엠소프트웨어입니다. 저번 시간에 오토핫키의 조건과 반복문을 이용해서 숫자 맞추기 게임과 구구단을 어떻게 만드는지 예제를 통해 실습 해봤습니다. 오늘은 오토핫키에서 윈도우 화면 보호기를 어떻게 방지할지 알아볼텐데요. 사실, 윈도우 시스템 설정에서 화면 보호기를 끄면 됩니다. 아마도, 절전 관련 옵션에 이런 내용이 있었던거 같은데... 예전에 만들어놓은 [ 화면 보호기 방지 프로그램 ]도 있네요.
화면 보호기가 실행되지 않도록 하기 위해서 마우스를 계속 움직여주는 간단한 스크립트입니다. 이 예제에서 If 조건이 아닌 until 조건을 사용해볼 수 있는데요. 우선, 테스트를 위해 엔지엠 매크로를 실행하고 새로운 스크립트를 추가하세요.
[ 오토핫키 코드 실행 ] 액션을 스크립트에 추가합니다. 이 액션은 에디터의 우측 하단 외부 API 탭에 있습니다.
실행 코드를 아래와 같이 입력 해주세요. 주석을 달아 두었으니 동작은 쉽게 이해할 수 있을겁니다.
#.:: Gosub ScreenRefresh ;서브 펑션(함수)으로 루틴을 이동시키고, 다시 돌아옵니다.
; 5초마다 마우스를 조금씩 움직입니다.
ScreenRefresh:
Loop
{
MouseGetPos, MouseX, MouseY
MouseMove, MouseX+10, MouseY+10, 10
MouseMove, MouseX, MouseY, 10
sleep 5000
} until GetKeyState("LButton") ;왼쪽 마우스를 5초간 누르면 반복을 탈출합니다.
return
오토핫키 모듈이 종료되지 않게 [ 액션 이동 ]으로 무한 반복 시켜줍니다. 액션 이동의 아이디가 1입니다. 액션 이동할 액션의 아이디는 1입니다. 다시 말해서, 액션 이동의 아이디가 1이므로 이 액션이 실행될 때 자기 자신으로 루틴을 이동시키게 됩니다. 그래서, 무한 반복하게 됩니다.
스크립트를 실행하고, 윈도우키+. 을 누르세요. 그러면, 서브 함수가 실행됩니다. 5초마다 마우스가 이동하는걸 확인할 수 있습니다. 만약, 자동 마우스 이동을 끄려면 util에 설정한 조건처럼 마우스 왼쪽 버튼을 5초간 누르고 있어야 합니다.
Loop에 반복 횟수를 적지 않으면 무한 반복하게 됩니다. 이전 시간에 배운 If 조건을 사용해서 반복을 탈출할수도 있지만, until에 조건을 설정해서 탈출해도 됩니다. Continue, Break가 아니라면 이 방법도 괜찮은 방법입니다. 좀 더 단순하고, 직관적이기 때문이죠^^; 다음에도 재미있는 내용으로 찾아올께요~
개발자에게 후원하기
추천, 구독, 홍보 꼭~ 부탁드립니다.
여러분의 후원이 빠른 귀농을 가능하게 해줍니다~ 답답한 도시를 벗어나 귀농하고 싶은 개발자~
감사합니다~
- 이전글오토핫키 RPA 업무 자동화 매크로 - 이미지 서치 후 찾은 이미지 클릭하는 방법. 22.08.07
- 다음글오토핫키 RPA 업무 자동화 매크로 만들기 - 조건과 반복문을 이용한 숫자 맞추기 게임과 구구단. (If, Loop) 22.08.07
댓글목록
등록된 댓글이 없습니다.