컴퓨터프로그래밍/autoHotKey(매크로)

AutoHotKey - 시간을 정하고 컴퓨터 자동종료 (변수의 사용)

zelkova 2016. 9. 27. 16:45

<목차로 돌아가기>


  변수 사용하기


 "변수"란 어떤 값(value)을 저장하기 위해 마련된 메모리 공간입니다.

문자열이나 숫자등을 변수에 저장하기를 원한다면


변수명을 영어대소문자및숫자와 _(언드바문자)를 마음대로 조합하여 정한후

 =(전통적 할당) 또는  :=(표현적 할당) 를 사용해서 대입하면 됩니다. 


전통적할당은 매크로에서 문자열과 숫자열을 인식이 이상하기 때문에 저는 표현적 할당만을 다루겠습니다.


변수를 선언한는 방법


MyNumber := 123 ; 숫자 넣기

MyString := "이것은 문자열입니다.";문자열 넣기

CopyOfVar := Var;변수의 사용  


변수에 숫자를 넣을때는 「 :=(표현적 할당) 」에 123 같은 숫자를 적어 넣으면 됩니다.


변수에 문자를 넣을때는 「 :=(표현적 할당) 」에 큰따옴표




변수의 사용방법


오토핫키에서 조금햇갈리는 부분은 변수를 사용하는 방법입니다. 두가지 경우로 나뉘는데.


변수의 값 사용할때는 변수 양옆에 %를 붙여서 사용합니다.

%변수명%



변수의 값을 꺼내지 않고 비교하거나 변수에 값을 집어 넣을때는 %를 안 붙이죠~

변수명



변수 사용 예제

  1. ^+t::
  2. var1 := 1234
  3. var2 := "가나다라"
  4. var3 := var1 var2

  5. send, %var1%{enter}
  6. send, %var2%{enter}
  7. send, %var3%
  8. return




  입력박스 사용하기

입력박스는GUI(Graphic user Interface)에서 정리하려고 했습니다.


이대로 변수를 사용하면 불편함이 많아서 지금 설명합니다.


입력박스를 사용하는 방법은 아래와 같습니다.

inputbox 변수명, 입력박스제목, 입력박스내용, 비밀번호기능, 넓이, 높이, x좌표, y 좌표, 글자체, 입력박스 자동제거시간, 미리적어놓을 값




예제1 

  1. ^+t::
  2. inputbox, var
  3. send, %var%
  4. return




예제2

  1. ^+t::
  2. inputbox, var,입력박스, 입력박스 텍스트입니다.
  3. send, %var%
  4. return





예제3

  1. ^+t::
  2. inputbox, var,입력박스, 입력박스 텍스트입니다.,hide, 200,100
  3. send, %var%
  4. return




예제4


※ 참조

  1. ^+t::
  2. inputbox, var,입력박스, 입력박스 텍스트입니다.,hide, 200,100
  3. if ErrorLevel
  4. {
  5.    Return ; 취소를 누르면 실행이 안됨
  6. }
  7. else
  8. {
  9.   Return ; 확인을 누르면 실행됨
  10. }
  11. send, %var%
  12. return





  약간의 응용


티스토리 블로그 주소창입력 매크로

  1. +k::
  2.    send, ^k

  3.    ;주소적기
  4.    ;var1:="dreamzelkova.tistory.com/"
  5.    inputbox,var2,주소를 입력하고 엔터!,,hide,250,100 

  6.    if ErrorLevel
  7.    {
  8.       Return ; 취소를 누르면 실행이 안됨
  9.    }
  10.    else
  11.    {
  12.       Clipboard=%var1%%var2%
  13.       send, ^v
  14.    
  15.       ;자동입력
  16.       send, {tab}{right}
  17.       send, +{tab}
  18.       send, {enter}
  19.    }
  20. return



컴퓨터 자동종료하기


값을 입력받는 컴퓨터를 자동종료하는 간단한 예입니다.

  1. var=3600
  2. inputbox, var,컴퓨터 자동종료 예약, 1은 1초입니다. \n 1시간3600입력 ,, 200,100
  3. send #r
  4. sleep, 500
  5. send, shutdown -s -t %var% {enter}
  6. return

  7. ^+s::
  8. send #r
  9. sleep, 500
  10. send, shutdown -a
  11. return



위의 스크립트는 매크로를 실행하자마자 var을 변수로 선언하고 

inputbox로 원하는 값을 입력받고 컴퓨터를 종료하는명령어를 실행시키죠.


혹시 잘못입력해서 취소하고싶은분은 ctrl+Shift+s를 누르면 취소됩니다 


반응형