dico.gif

i15947420946.gif

huuon2.gif



♨신규 게시물♨




♨신규 댓글♨




♨랭킹 TOP 30♨


  1. 사나 51,013
  2. 치즈돈가스덮밥 42,809
  3. 타이갓 42,690
  4. 달콤한 42,151
  5. 얍얍 37,292
  6. ZicP 35,207
  7. 투혼v 32,276
  8. 도리toS 27,747
  9. 헤이브로 24,790
  10. AkiREI 23,870
  11. 도리고 22,875
  12. 호날두마리치킨 17,437
  13. 깡따구 15,503
  14. 쯔쯔가무시 14,814
  15. 김돈치 14,272
  16. 키호 13,993
  17. 안인시우안 13,631
  18. 악당 13,375
  19. 개나리 12,651
  20. 코난 11,530
  21. 아싸콤 11,204
  22. 코딩충 10,360
  23. 사랑 10,195
  24. 지금몇시지 10,137
  25. 뉴비임다 9,525
  26. 규따네 9,475
  27. 브랜뉴 9,378
  28. 가다궄 9,180
  29. 반가워용 8,613
  30. 라일리 8,463

6faa2286ccd015fb37f28f688e13eac6.png

Autohotkey 쓰레드

asdtlkh2019.08.05 14:58조회 수 15댓글 0

  • 2
    • 글자 크기

쓰레드란?

 

그 전에 쓰레드가 뭔지에 대해서 알아봅시다.

 

F5::

msgbox,F5 Pressed

Return

 

위와같이 된것이 하나의 쓰레드(Thread)입니다.

즉, 오토핫키 스크립트가 실행되는 하나의 흐름? 이라고 생각하시면 됩니다.

일반적으로, 저렇게 라벨(F5:: 처럼 핫키나, 이후 추가될 라벨등이 있습니다.) 로 시작해서

return(또는 exit 등.)문에 의해서 쓰레드 종료가 됩니다.

이 Return, 이 구문이 바로 "쓰레드 종료문"에 해당하게 되는 겁니다.

 

결국 오토핫키는 쓰레드와 함수(이후 서술)의 집합이라고 생각하시면 됩니다.

 

만약 쓰레드 종료문이 없으면 어떻게 될까요?

 

F5::

msgbox,F5 Pressed

 

F6::

msgbox,F6 Pressed

 

 

이렇게 한 상태에서 실행을 해보시면, F6을 누르면 메시지박스 하나만 띄워지지만

F5를 누르면 메시지박스 두개가 연달아 띄워지는 경우가 발생합니다.

즉, 쓰레드가 종료가 안되고 바로 다음 쓰레드가 실행이 된 경우죠.

 

그렇기 때문에 우리가 원하는 결과를 얻기 위해서는 쓰레드 종료문을 꼭 알아야 합니다.

 

그럼, 이제부터 쓰레드 종료문에 대해서 알아보도록 합시다.

 

 

 

가장 기본 종료문, Return

 

이전 강의에서도 썻던, 가장 기본적인 Return 문입니다.

Return 문은, 세가지 역할을 합니다.

1. 그 이전 쓰레드로 돌아가는 역할을 합니다.

2. 그 이전 쓰레드에 아무것도 없으면 바로 쓰레드를 종료시킵니다.

3. 함수의 경우 변수

 

아직은 쓰레드 종료 기능밖에 쓰이지 않겠지만,

나중에 Gosub 문이나 함수문에서 매우 중요하게 쓰일 종료문입니다.

어떻게 쓰이는지는, 그때 알아보고 지금은 두번째 기능에 주목하도록 합시다.

 

F5::

msgbox,F5 Pressed

Return

 

F6::

msgbox,F6 Pressed

Return

 

위의 예문을 실행해보시면 아까와는 다르게 각각 따로 키가 동작하는것을 알 수가 있습니다.

 

 

Exitapp과 Reload 구문

 

다음으로 Exitapp 구문과 Reload 구문입니다.

Exitapp은 그 쓰레드를 종료함과 동시에 오토핫키를 바로 꺼버리는 역활을 합니다.

그렇기 때문에, Exitapp을 이용하면 다른걸 다 제하고 바로 꺼버리게 되죠.

 

Reload 구문은 그 쓰레드를 종료함과 동시에 오토핫키를 재시작하는 역활을 합니다.

 

F5::

msgbox,F5 Pressed

Exitapp

msgbox,This was not Displayed

Return

 

F6::

msgbox,F6 Pressed

Reload

msgbox,This was not Displayed

Return

 

위의 구문에서, F5를 누르면 F5 Pressed만 표시가 되고 Exitapp이 되기때문에,

프로그램이 종료되서 아래의 메시지박스가 실행이 안되고

 

F6을 누르면 F6 Pressed만 표시가 되고 Reload가 되기 때문에

프로그램이 재시작되면서 아래의 메시지박스가 실행이 되지 않습니다.

 

*참고!

F7::

reload

이런식으로 바로 Reload를 처리하게 되면,

F7을 연타할경우, Reload가 계속 처리가 되서

프로그램이 여러번 실행이 되는 경우가 있습니다.

어떻게 보면 오토핫키 고유의 오류라고 볼 수 있습니다.

 

 

 

Exit 구문

 

Exit 구문은 오토핫키를 접하는 분들도 처음 들어보는 분들이 많을겁니다.

Exit 구문은 이름 그대로, 그 쓰레드가 무슨 일이 있든 바로 종료하는 역활을 합니다.

Return 문에서는 이전 쓰레드로 돌아가는 역활을 해서 Gosub 문에서 돌아가는 역활을 하지만,

Gosub 안에서 이 구문을 쓰면 이전 쓰레드로 돌아가지 않고 바로 종료하는 역활을 합니다.

 

  • 2
    • 글자 크기
Autohotkey Loop구문 (by asdtlkh) Autohotkey send 구문 (by asdtlkh)

댓글 달기 WYSIWYG 사용

글쓴이 비밀번호
첨부 (2)
a056aa04869b57751f1826acecf6bb8d.gif
792.7KB / Download 0
">
d66fe298ea5683c72bde8856ba7cc759.gif
988.0KB / Download 0
">

서버에 요청 중입니다. 잠시만 기다려 주십시오...