오토핫키 :: 5강 변수와 조건

오토핫키 :: 5강 변수와 조건

카테고리 : 오토핫키/오토핫키 강좌

오토핫키 5강 변수와 조건 시간입니다.
빠르게 강의를 진행하고 있습니다만, 부족한 강의 내용이나 궁금한점은
언제나 댓글을 남겨주시면 도움을 드리겠습니다.

오토핫키에서 변수는 상당히 중요합니다.

변수를 통해서 상당히 많은 일들을 할 수 있죠.
예를 들어서 다양하게 저장되는 임시 클립보드를  다른 변수들로 바꿔주면서, 여러가지의 복사문구를 사용할 수 도 있습니다.

변수에 대한 부분은 결국 직접적인 스크립트를 보시면 매우 빠르게 이해하실 수 있어요.

오토핫키 :: 5강 변수와 조건


변수란 ? 특정 문자를 기입하여 숫자나 문자를 입력할 수 있게합니다.

변수의 사용형태 -> 대입 : test = 1515


위와 같은 형태로 변수를 사용합니다. "=" 이라는 수식기호를 사용하여 변수값을 지정해주는 것이죠.
그래서 변수 지정 이후의 test라는 문자에서 %%이부분을 앞뒤로 넣어줘 %test%로 사용한다면 그 값이 1515가 출력됩니다.
물론 그냥 test를 사용하신다면 문자그대로 출력되지요.

스크립트 예시문구입니다.

end::exitapp

Insert::reload

Home::

test = hello
run,notepad,exe ;메모장을 실행시킵니다. 실행에 관한 명령어 Run, Target [, WorkingDir, Max|Min|Hide|UseErrorLevel, OutputVarPID]
sleep,500
winactivate,notepad.exe ; 노트패드를 활성화시킵니다.
sleep,100
send, %test%
exitapp ; 스크립트 종료 


위와 같이 작성되면 노트패드에 test가 아닌 hello를 입력하게 되겠죠.

변수 대입법에는 = 과 :=가 있습니다.
 
Var = 1 + 1
msgbox, %var% 이랬을때 결과는 1 + 1이 되죠.
Var := 1 + 1
msgbox, %var% 이랬을때 결과는 2가되죠.
연산 시에는 :=를 사용해주시면 됩니다.

조건문에 대해서 if와 else가 사용되죠. 앞서서 if와 else에 대해서는 설명한 바가 있습니다.

if를 사용해서 다양한 조건을 만들 수 있습니다.

loop,5 ; 문구를 5번 반복합니다.
{
if A_Index = 4 ; 루프를 4번 했을 경우
msgbox, 땡떙떙
}

이랬을 경우 루프를 4번 반복하면 땡떙땡이라는 메시지 박스가 출력되죠.
예를 들어서 변수를 활용해볼까요?
test = over
test1 = over1

if test = over
{
sleep,100
msgbox, 딩동댕
}
else
{
sleep,100
msgbox, 땡
}
이러한 형태가 되겠죠. 오토핫키의 무긍무진한 세계는 끝이 없습니다.
간단한 명령어로 놀라운 세계를 경험해 보시는건 어떨까요?
저작자 표시 비영리 변경 금지
신고

댓글을 달아 주세요

  1. Favicon of http://blog.naver.com/su8113 BlogIcon 만기의블로그 2012.02.13 22:36 신고  수정/삭제  댓글쓰기

    구독인가 ? 했음 ㅋㅋ 다추천했어염 글고 점점어려워지네요 ㅠㅠ흑흑

  2. Favicon of http://iamaman.tistory.com BlogIcon 남성 2012.02.14 20:39 신고  수정/삭제  댓글쓰기

    역시 좋은 프로그램은 누군가는 열심히 쓰고 있군요.

    저도 오토핫키 없으면 컴터 못 쓰겠어요 ㅋㅋㅋㅋㅋ

    오토 핫키 때문에 걍 윈도우에 눌러 앉아 있습니다.

    리눅스에서도 오토핫키 같은 킬러 프로그램이 있으면 좋을텐데...

    제 블로그에 링크 할께요. 오토 핫키 좋아하는 한 사람으로서 자주 찾아 뵐께요~

    • Favicon of http://tvdusdo.tistory.com BlogIcon 연애가중매 2012.02.14 21:57 신고  수정/삭제

      오토핫키는 가히 최고의 프로그램이 아닐까 싶습니다.
      못하는게 없네요~
      ㅎㅎㅎ 감사합니다.
      저도 자주 찾아뵙겠습니다.

  3. elribga 2012.02.20 11:18 신고  수정/삭제  댓글쓰기

    본문에 오타가 있네요..^^ 예제에 winativate 가 아니라 winactivate 인거 같습니다.. c가 빠졌네요

  4. BlogIcon 오토핫키 2012.02.22 08:00 신고  수정/삭제  댓글쓰기

    저기요 Ctrl은 계속 연타하고 Shift는 4초에 1번씩하려면 어떻게 써야되요? jinhoun1999@naver.com으로 보내주셔도 되구요 아니면 댓글 달아주세요 ㅠㅠ

    • Favicon of http://tvdusdo.tistory.com BlogIcon 연애가중매 2012.02.22 09:49 신고  수정/삭제

      ;스크립트입니다.
      End::exitapp
      Home::

      settimer,SE,4000

      loop
      {
      send.{ctrl}
      sleep,300
      }
      retrun

      SE:
      Critical
      send,{Shift}
      sleep,300
      return

  5. BlogIcon 영웅 2012.02.22 19:36 신고  수정/삭제  댓글쓰기

    활성화가안된다 ㅠㅠ

  6. 영웅 2012.02.22 19:37 신고  수정/삭제  댓글쓰기

    활성화가 안되요 ㅠㅠ어쩌징

    글구 스크립트를 관리자권한으로 실행시키는법있을까영

  7. 신동근 2012.03.22 04:23 신고  수정/삭제  댓글쓰기

    Loop
    {
    send,{up down}s
    sleep,1000
    }
    return
    1. 위 스크립트를 입력하였을 시 어떠한 반응을 나타내는지요?

    그리고 위의 스크립트는

    키보드 위 방향키를 계속하여 누르고 있는 상태에서
    s키는 반복적으로 계속 누르고 있게 할려는 스크립라고
    만들어본건데 .. 맞나요?

    2. 또 .. {up down} 명령어를 넣고난 후
    또다른 방향키 명령어를 넣기위해서는 {up up} 명령어를
    넣어주어야 하나요??


    3 . 방향키 up 을 2초간 누르고 있다가 s를 누르는
    반복적인 스크립트를 짤려고 하는데 잘 되지 않습니다
    ☞이는 위에 1번 질문을 해결하기 위함입니다

    4. 제가 만들고 싶은 정확한 소스는 다음과 같습니다

    마우스로는 임의의 좌표 100, 100을 10초 간격으로 계속하여
    누르면서 이와 동시에 키보드는 방향키 up 을 2초간 누릅니다
    이어서 키보드 s 를 10회 눌러준 후 d를 2번 눌러주게 하는
    소스입니다

    정리하자면 마우스의 임의 좌표클릭은 계속하고있고
    이에 키보드 up2초, 이어서 s 10번, d 2q번

    이를 반복하게 해주는 스크립트를 짜고 싶습니다



    강좌를 살펴보고 살펴보며 만들어봣지만 번번히 실패하여
    이렇게 질문글 남겨드립니다

    거듭하여 확인할테지만 shadow2241@naver.com
    으로도 메일 보내주시면 감사하겠습니다

    좋은 강좌글 보고 매일같이 오토핫키를 공부하는 한 시람이
    되었습니다. 계속하여 좋은 강좌글 부탁드리고 언제나 좋은정보
    감사드립니다 ^^*

  8. 2012.03.26 17:32 신고  수정/삭제  댓글쓰기

    안녕하세요^^
    강의를 보다가 궁금한게 있어서 질문드려요~~
    ------------------------------------------------------------------
    end::exitapp
    insert::reload
    home::

    test1=1+1
    test2:=1+1
    run,notepad.exe
    sleep,500
    winactivate,natepad.exe
    sleep,100
    send,%test1%
    sleep,100
    send,{enter}
    sleep,100
    send,%test2%
    sleep,100
    send,{enter}
    sleep,100
    send,test
    exitapp
    -----------------------------------------------------

    이것을 실행하게되면
    1!
    2
    test
    가 나오더라구요.

    1+1
    2
    test가 나와야 하는거 아닌가요?ㅠㅠ 어디가 잘못된거에요?

  9. 2012.03.26 17:53 신고  수정/삭제  댓글쓰기

    이런게 알아가는 재미군요 ㅋㅋㅋ

    그리고 위에꺼 질문이요ㅠㅠ

    예시처럼 msgbox로 하면 되는데

    메모장으로 하면 안되네요ㅠㅠ

  10. BlogIcon 땅진 2012.03.29 18:45 신고  수정/삭제  댓글쓰기

    저기.. 4분마다 if 문안에 있는것을 실행할려고 하는데 if문 다음에 뭘 넣어야하죠? 그리고 변수선언은 어떻게?

    • Favicon of http://tvdusdo.tistory.com BlogIcon 연애가중매 2012.03.30 12:23 신고  수정/삭제

      안녕하세요 ^^
      4분마다 if문 안에 것을 실행하고 싶으시다면
      if문 안에는 실행하고자 하시는 내용을
      4분이라는 것은 sleep을 통해서도 충분히 조정이 가능할 것 같습니다.

  11. BlogIcon 코프스 2012.04.02 22:00 신고  수정/삭제  댓글쓰기

    안녕하세요^^ 강의 꾸준히 보고있습니다.
    학교에서 친구들이랑 오토핫키로 프로그램을 만들어서 같이 쓰기로 해서 질문드립니다..
    만약 powerpnt(파워포인트).exe 라는 프로세스가 run 되었을 때
    msgbox를 띄우려 하는데요, if문 어찌 해야할 지 모르겠네요 힌트좀 주세요

    • Favicon of http://tvdusdo.tistory.com BlogIcon 연애가중매 2012.04.03 06:26 신고  수정/삭제

      ;--이러한 방법으로 가능합니다 ^^
      ifwinexist,ahk_class PPTFrameClass
      msgbox,파워포인트가 실행중입니다.

      ;--- 아래는 예제입니다.
      if WinExist("ahk_class Notepad")
      msgbox, Something is good

  12. 위에 2012.04.19 00:57 신고  수정/삭제  댓글쓰기

    정말 내일컴키자마자 오토핫키 확 파버릴것같아요 후훗 이번편도 잘봤습니다^^

  13. BlogIcon 오핫초보 2012.09.18 18:06 신고  수정/삭제  댓글쓰기

    지정 시간까지 엔터 만 계속 클릭하게 만들수있나요 ?ㅇ

  14. BlogIcon 오핫초보 2012.09.18 18:06 신고  수정/삭제  댓글쓰기

    지정 시간까지 엔터 만 계속 클릭하게 만들수있나요 ?ㅇ

  15. 좌표변수 2013.01.05 20:47 신고  수정/삭제  댓글쓰기

    좌표에서 변수를 줄때 어떤씩으로 명령어를써줘야되나요?

Powerd by TalkBlog Tistory, designed by 한밤의 TV연애

티스토리 툴바