AutoHotKey(오토핫키) 설명서 SetTimer
SetTimer
써브루틴을 지정 간격으로 실행한다
SetTimer, Label [, Period|On|Off, Priority]
Parameters
인수명 | 설명 |
---|---|
Label |
라벨명.hot key 라벨등에서도 가능. 「%LabelName%」(와)과 같은 변수 참조라도 좋다. |
Period|On|Off |
|
Priority | 스렛드의 세치기 우선도(을)를 지정. |
Remarks
타이머를 사용하면, 정기적으로 처리를 실행하거나 무엇인가를 감시하거나 할 수 있다.
타이머를 설정해도 상주는 되지 않기 때문에, hot key를 등록하지 않는 스크립트를 상주시키고 싶은 경우#Persistent지령을 기술할 필요가 있다.
타이머는, 설정된 뒤 지정 시간이 경과하고 처음으로 실행된다.
On(으)로 하거나 간격을 설정하거나 하면, 전회 실행으로부터의 경과시간이 리셋트 되어 현재의 시간부터 지정 시간 경과후에 다음의 실행을 한다.
타이머는, 전회의 스렛드가 개시되었을 때로부터 지정 시간 경과후에 다음이 실행된다.
다만, 같은 타이마스렛드가 중복 해 실행될 것은 없다.
같은 타이머의 타이마스렛드가 실행중에, 다음의 시간이 왔을 경우, 기존의 타이마스렛드의 종료를 기다려 즉석에서 다음의 타이마스렛드가 개시된다.
Suspend되고 있는 동안도 타이머는 계속 움직인다.
Pause되면 모든 타이머는 정지한다.
OS의 제한에 의해,NT계에서는10밀리 세컨드,9x계에서는55밀리 세컨드보다 짧은 간격에서는 실행할 수 없다.
이것보다 짧은 간격을 지정했을 경우는, 최소 간격으로 설정된다.
타이머나 hot key가 확실히 지정 대로에 실행되도록(듯이) 하려면 ,SetBatchLines에 의한 처리 속도나Thread에 의한 스렛드 세치기의 설정등을 조절할 필요가 있다.
Related
Gosub, Return, Threads, Menu, #Persistent
Example(s)
; Example #1: Close unwanted windows whenever they appear: SetTimer, CloseMailWarnings, 250 return CloseMailWarnings: WinClose, Microsoft Outlook, A timeout occured while communicating WinClose, Microsoft Outlook, A connection to the server could not be established return
; Example #2: Wait for a certain window to appear and then alert the user: SetTimer, Alert1, 500 return Alert1: IfWinNotExist, Video Conversion, Process Complete return ; Otherwise: SetTimer, Alert1, Off ; i.e. the timer turns itself off here. SplashTextOn, , , The video conversion is finished. Sleep, 3000 SplashTextOff return
; Example #3: Detection of single, double, and triple-presses of a hotkey. This ; allows a hotkey to perform a different operation depending on how many times ; you press it: #c:: if winc_presses > 0 ; SetTimer already started, so we log the keypress instead. { winc_presses += 1 return } ; Otherwise, this is the first press of a new series. Set count to 1 and start ; the timer: winc_presses = 1 SetTimer, KeyWinC, 400 ; Wait for more presses within a 400 millisecond window. return KeyWinC: SetTimer, KeyWinC, off if winc_presses = 1 ; The key was pressed once. { Run, m:\ ; Open a folder. } else if winc_presses = 2 ; The key was pressed twice. { Run, m:\multimedia ; Open a different folder. } else if winc_presses > 2 { MsgBox, Three or more clicks detected. } ; Regardless of which action above was triggered, reset the count to ; prepare for the next series of presses: winc_presses = 0 return
'AutoHotKey > Commands' 카테고리의 다른 글
AutoHotKey(오토핫키) 설명서 SetWinDelay (0) | 2014.08.14 |
---|---|
AutoHotKey(오토핫키) 설명서 SetTitleMatchMode (0) | 2014.08.14 |
AutoHotKey(오토핫키) 설명서 SetStoreCapslockMode (0) | 2014.08.14 |
AutoHotKey(오토핫키) 설명서 Set[Caps|Num|Scroll]LockState (0) | 2014.08.14 |
AutoHotKey(오토핫키) 설명서 SetMouseDelay (0) | 2014.08.14 |