매크로 프로그램 이란?
[블럭*매크로 프로그램*]에는 여러 가지 종류가 있습니다.
매크로 프로그램은 흔히 자주 사용하는 명령어를 한 단위로 묶어서 특정 키나 명령어를 입력하였을 때
동작하도록 만든 것을 말합니다.
주로 반복되는 작업을 단순화하거나 자동화하기 위하여 사용합니다.
프로그래밍 언어 등을 이용하여 만들 수도 있고, 매크로 전용 프로그램을 이용하여 만들 수도 있습니다.
종료 프로그램 요구사항
- 키보드나 마우스 등의 최종 입력 후 경과한 시간을 받을 수 있는지?
- 다시 입력(마우스, 키보드 등)이 발생하면, 경과시간을 초기화할 수 있는지?
- 프로그램이 켜져 있어도 모든 프로그램을 강제 종료할 수 있는지?
- 종료 직전 종료를 취소할 수 있는지?
- 매크로 종료 후 다시 프로그램 시작할 수 있는지?
저는 필요에 의해서 컴퓨터가 마우스 등 입력이 없을 경우 3시간 후에 컴퓨터가 꺼지도록 하고 싶었습니다.
특히, 프로그램이 켜져 있어도 강제 종료하도록 하고 싶었습니다.
그중에서 단순 키 입력 등의 단순 매크로가 아닌, 비교적 자유도가 높은 오토 핫키(AutoHotKey)를 이용하여 간단한 컴퓨터 종료 프로그램을 만들어 보겠습니다.
오토 핫키(AutoHotKey) 다운로드
[작게* *오토핫키 설치관련 페이지를 참조바랍니다.*]
코드 및 설명
[작게* *코드가 제대로 표시되지 않을 때가 있습니다. 하단의 파일을 다운로드하시면 원본 파일을 다운로드할 수 있습니다.*]
[작게* *하단 코드 중*][**;**][작게* 표시(해당줄)는 주석처리(코드설명)로 작동되지 않는 코드입니다.*]
;최종입력 이후 몇분 후 종료할 것인지?(종료설정 시간)
min=180
;강제종료 직전 최종 취소할 수 있는 시간(초)
cancel=60
;1/1000초(millisecond, ms) 단위로 환산(3시간 = 10,800,000 ms)
milliseconds := min * 1000 * 60
;(loop)명령어 반복수행
;(A_TimeIdle)최종입력 후 경과한 시간(ms)
;경과 시간이 종료설정 시간보다 크면 "exit"문으로 이동
Loop
{
if A_TimeIdle %milliseconds%
Goto, exit
}
return
;"exit"문 실행 시 안내문구를 띄우고, 설정한 60초 이내에 F12키를 이용하여 취소할 수 있다.
;안내문구=윈도우가 종료됩니다.
;취소키=F12키
;취소설정 시간=60초
;취소시간은 1초(sleep 1000)쉬고, cancel설정값(60)에서 1씩 감소한다.
;(loop)60이 0이 될때까지 반복한다.
;0이 되면, shutdown명령으로 넘어간다.
exit:
loop, %cancel%
{
ToolTip, 윈도우가 종료됩니다.`n취소: F12 / 종료 %cancel%초 전
sleep 1000
cancel--
}
;shutdown은 여러 종류가 있으며, 아래 참고를 확인바랍니다.
;shutdown 13 = 강제 창닫기+셧다운+전원 내리기
Shutdown, 13
;타이머 강제 취소키를 "F12"로 설정
;메세지 박스에 "타이머취소" 메세지가 뜨면서, 매크로 프로그램 리로드 됨.
F12::
MsgBox, 타이머취소
Reload
참고 명령어
A_TimeIdle = 키보드나 마우스 또는 기타 입력으로부터 시스템이 입력을 받은 이후로 경과한 시간의 밀리초 개수입니다. 사용자가 컴퓨터 앞에 있는지 판단하는데 유용합니다. 사용자로부터 받는 물리적 입력과 더불어 프로그램이나 스크립트가 만들어 내는 인위적인 입력은(Send 또는 MouseMove 명령어) 이 값을 다시 0으로 재설정합니다.
Shutdown = 시스템을 닫거나, 재시작하거나 또는 로그오프 합니다.
숫자의 합계를 이용하여, 종료 옵션을 선택할 수 있습니다.
예 : 1 + 4 + 8 = 13 ( 셧다운 + 강제 창 닫기 + 전원 내리기 )
- 0 = 로그오프
- 1 = 셧다운
- 2 = 리부트
- 4 =강제 창 닫기
- 8 = 전원 내리기
마무리
오토핫키(AutoHotKy) 매크로 프로그램을 이용하여, 간단한 컴퓨터 종료 프로그램을 만들어 보았습니다.
다음 포스트에는 [**오토핫키**], [**오토핫키 에디터**]를 설치하고 [형광*실행파일(*.exe)*]을 만들어 보도록 하겠습니다.
'코딩히어로 > 오토핫키' 카테고리의 다른 글
[AHK] 오토핫키 다운로드 및 설치방법(feat. 오토핫키 에디터) (0) | 2022.07.15 |
---|