AutoHotKey(오토핫키) 설명서 SetWinDelay

Posted by 발전소장
2014. 8. 14. 14:08 AutoHotKey/Commands

SetWinDelay

윈도우 관련 커멘드의 후에 비우는 동안을 지정

SetWinDelay, Delay 

Parameters

인수명설명
Delay 간격을 밀리 세컨드로 지정.
디폴트는100.
-1그리고 모두 간격 없음.
0(이)라면, 다른 프로세스가 끼어드는 것이 가능하게 된다.

Remarks

각종 윈도우 조작 커멘드의 후에는, 윈도우가 조작에 응답하는 것을 기다리기 위해, 조금의 사이 처리가 정지된다.
「-1」(을)를 지정하면, 스크립트의 다음의 처리와 윈도우의 응답이 겹치게 되어 맛이 없기 때문에, 적어도 「0」(으)로 하는 편이 좋다.

이 설정의 기본치는, 스크립트의 최초의AutoExecute섹션그리고 설정한다.
hot key등에서 새롭게 기동되었다스렛드그럼, 설정은 기본치로 설정된다.

A_WinDelay변수로 현재의 설정치를 참조할 수 있다.

Related

SetControlDelay, SetKeyDelay, SetMouseDelay, SetBatchLines

Example(s)

SetWinDelay, 10


AutoHotKey(오토핫키) 설명서 SetTitleMatchMode

Posted by 발전소장
2014. 8. 14. 14:05 AutoHotKey/Commands

SetTitleMatchMode

윈도우 관련 커멘드로의 대상 윈도우 검색 방법을 설정한다

SetTitleMatchMode, MatchMode
SetTitleMatchMode, Fast|Slow

Parameters

인수명설명

MatchMode

타이틀의 매치 방법
1
전방 일치(WinTitle그리고 지정한 문자열로 시작되는 윈도우가 일치한다)(고속)(디폴트)
2
중간 일치(WinTitle그리고 지정한 문자열을 포함한 윈도우가 일치한다)
3
완전 일치(WinTitle그리고 지정한 문자열에 완전하게 일치하는 것이 일치한다)
RegEx
WinTitle,WinText,ExcludeTitle,ExcludeText의 조건을정규 표현그리고 지정한다.
예를 들면 「.* - 메모장」은 메모장의 타이틀에 매치한다.
「ahk_class」(이)나 「ahk_group」도 정규 표현으로 검사된다.
덧붙여WinText그럼, 컨트롤 등 한개씩에 그다지 정규 표현 검색을 한다.
Fast|Slow 텍스트의 검출 방법
Fast
일부의 컨트롤의 텍스트를 검출할 수 없다(디폴트)
Slow
보다 많은 컨트롤의 텍스트를 검출할 수 있다.늦다.

Remarks

「Slow」모드에서만 검출할 수 있는 텍스트는,AutoHotkey동고의AU3_Spy.exe그리고 알 수 있다.

「Slow」모드를 사용하면, 무응답의 윈도우가 있을 때 극단적으로 동작이 늦어지는 경우가 있다.
키보드 훅이나 마우스 훅을 사용하고 있으면, 조작의 응답이 늦는 등의 문제가 발생하는 경우도 있다.

이 설정의 기본치는, 스크립트의 최초의AutoExecute섹션그리고 설정한다.
hot key등에서 새롭게 기동되었다스렛드그럼, 설정은 기본치로 설정된다.

A_TitleMatchMode,A_TitleMatchModeSpeed변수로 현재의 설정을 참조할 수 있다.

Related

SetWinDelay, IfWinExist, WinActivate

Example(s)

SetTitleMatchMode, 2
SetTitleMatchMode, slow


AutoHotKey(오토핫키) 설명서 SetTimer

Posted by 발전소장
2014. 8. 14. 14:02 AutoHotKey/Commands

SetTimer

써브루틴을 지정 간격으로 실행한다

SetTimer, Label [, Period|On|Off, Priority]

Parameters

인수명설명
Label 라벨명.hot key 라벨등에서도 가능.
「%LabelName%」(와)과 같은 변수 참조라도 좋다.
Period|On|Off
간격
수치를 지정하면, 실행 간격을 밀리 세컨드로 설정할 수 있다.상한은4294967295밀리 세컨드(약49.7일)이다.
타이머는 자동적으로 유효하게 된다.
부의 값을 지정했을 경우, 그 절대치의 시간이 경과후에, 한 번만 써브루틴이 실행된다.
On
Off(으)로 한 타이머를 재차 유효하게 한다.
타이머가 신규 작성되는 경우, 간격은250(으)로 설정된다.
과거에 타이머 등록되었던 적이 있는 경우는, 그 때와 같은 간격으로 설정된다.(부의 값이 지정되어 있었을 경우도)
Off
타이머를 정지한다.
On(와)과 같다.다만,Priority하지만 설정되어 있는 경우, 경과시간의 리셋트는 행해지지 않는다.
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(오토핫키) 설명서 SetStoreCapslockMode

Posted by 발전소장
2014. 8. 14. 14:02 AutoHotKey/Commands

SetStoreCapslockMode

Send커멘드 실행시에CapsLock상태를 자동적으로 변경할지를 설정

SetStoreCapslockMode, On|Off

Parameters

인수명설명
On|Off 자동 변경을On(으)로 할까Off(으)로 할까.초기설정은On.

Remarks

이 설정이On(이)가 되어 있으면,Send커멘드가 실행될 때,CapsLock하지만On(이)가 되어 있으면CapsLock(을)를Off(으)로 해, 종료시에On에 되돌려진다.
이것에 의해,CapsLock상태에 관계없이, 인수에 기술된 대로 알파벳열을 입력할 수 있다.
그러나, 종료시에 유무를 말하게 하지 않고On(으)로 되어 버리므로,CapsLock하지만On때에Send안으로{CapsLock}(을)를 송신해도,CapsLock(을)를Off(으)로 할 수 없다.

이 설정을Off(으)로 하면,Send커멘드 실행시의CapsLock의 자동 변환은 일절 행해지지 않게 된다.
CapsLock의 변환을 다른 키에 할당하고 싶은 경우 등은, 미리Off(으)로 해 두면 좋다.

Windows95/98/Me그럼, 이 기능은 정확하게 동작하지 않는 것이 있다.

이 설정의 기본치는, 스크립트의 최초의AutoExecute섹션그리고 설정한다.
hot key등에서 새롭게 기동되었다스렛드그럼, 설정은 기본치로 설정된다.

Related

SetCaps/Num/ScrollLockState, Send, ControlSend

Example(s)

SetStoreCapslockMode, off


AutoHotKey(오토핫키) 설명서 Set[Caps|Num|Scroll]LockState

Posted by 발전소장
2014. 8. 14. 14:01 AutoHotKey/Commands

Set[Caps|Num|Scroll]LockState

Capslock/NumLock/ScrollLock키의 락 상태를 설정하거나 항상On(이)나Off(으)로 하거나 한다

SetCapsLockState, State
SetNumLockState, State 
SetScrollLockState, State 

Parameters

인수명설명
State
On
On(으)로 한다
Off
Off(으)로 한다
AlwaysOn
항상On(이)가 되도록(듯이) 한다(NT계 전용)
AlwaysOff
항상Off(이)가 되도록(듯이) 한다(NT계 전용)

Remarks

상태의On/Off(을)를 바꾸려면 ,Send커멘드를 사용한다.

Related

SetStoreCapslockMode, GetKeyState

Example(s)

SetNumlockState, on
SetScrollLockState, AlwaysOff


AutoHotKey(오토핫키) 설명서 SetMouseDelay

Posted by 발전소장
2014. 8. 14. 14:01 AutoHotKey/Commands

SetMouseDelay

마우스 조작 관계 커멘드로 조작동안에 삽입되는 간격을 변경

SetMouseDelay, Delay, Play

Parameters

인수명설명
Delay 간격을 밀리 세컨드로 지정.「-1」(으)로 일절 사이를 비우지 않고 입력을 실시한다. 초기치는 「10」.
OS의 사양에 의해,10밀리 세컨드 단위보다 세세한 지정은 할 수 없다.
Play 제2인수에 「Play」(이)가 지정되어 있으면,SendPlay커멘드나SendMode그리고Play하지만 지정되어 있을 때의Send커멘드의 조작 간격이 변경된다.

Remarks

MouseMove,MouseClick,MouseClickDrag커멘드는, 어플리케이션이 확실히 키 조작에 응답할 수 있도록, 조작의 뒤에 짧은 시간 휴지 상태가 된다.

OS의 사양에 의해,10밀리 세컨드 단위보다 세세한 지정은 할 수 없다.

「0」(을)를 지정했을 경우,0밀리 세컨드의Sleep하지만 실행되어 다른 프로세스가 처리를 실시할 수 있다.
「-1」(을)를 지정하면, 일절 사이를 비우지 않고 입력되므로, 입력이 끝날 때까지 다른 프로세스에 처리가 돌지 않는 경우가 있다.

A_MouseDelay변수로 현재의 설정을 참조할 수 있다.

이 설정의 기본치는, 스크립트의 최초의AutoExecute섹션그리고 설정한다.
hot key등에서 새롭게 기동되었다스렛드그럼, 설정은 기본치로 설정된다.

Related

MouseMove, MouseClick, MouseClickDrag, SetKeyDelay, SetControlDelay, SetWinDelay, SetBatchLines

Example(s)

SetMouseDelay, 0


AutoHotKey(오토핫키) 설명서 SetKeyDelay

Posted by 발전소장
2014. 8. 14. 14:00 AutoHotKey/Commands

SetKeyDelay

Send(이)나ControlSend커멘드로의1키 마다 삽입되는 간격을 변경

SetKeyDelay[, Delay, PressDuration,Play]

Parameters

인수명설명
Delay 간격을 밀리 세컨드로 지정.「-1」(으)로 일절 사이를 비우지 않고 입력을 실시한다.
초기치는 「10」.
OS의 사양에 의해,10밀리 세컨드 단위보다 세세한 지정은 할 수 없다.
생략시는 변경되지 않는다.
PressDuration 키를 누르고 나서 떼어 놓을 때까지의 시간을 지정.「-1」(으)로 일절 간격을 열지 않고 즉석에서 떼어 놓는다.
초기치는 「-1」.
생략시는 변경되지 않는다.
덧붙여 수식 키를 눌러 내린 후의 대기 시간도 이 설정으로 변경된다.
Play 제3인수에 「Play」(이)가 지정되어 있으면,SendPlay커멘드나SendMode그리고Play하지만 지정되어 있을 때의Send커멘드의 조작 간격이 변경된다.

Remarks

Send커멘드 등은, 어플리케이션이 확실히 키 조작에 응답할 수 있도록,1키 마다 짧은 간격을 열면서 입력을 발생시킨다.

「0」(을)를 지정했을 경우,0밀리 세컨드의Sleep하지만 실행되어 다른 프로세스가 처리를 실시할 수 있다.
「-1」(을)를 지정하면, 일절 사이를 비우지 않고 입력되므로, 입력이 끝날 때까지 다른 프로세스에 처리가 돌지 않는 경우가 있다.

A_KeyDelay변수로 현재의 설정을 참조할 수 있다.

이 설정의 기본치는, 스크립트의 최초의AutoExecute섹션그리고 설정한다.
hot key등에서 새롭게 기동되었다스렛드그럼, 설정은 기본치로 설정된다.

Related

Send, ControlSend, SetMouseDelay, SetControlDelay, SetWinDelay, SetBatchLines, MouseClick

Example(s)

SetKeyDelay, 0


AutoHotKey(오토핫키) 설명서 SetFormat

Posted by 발전소장
2014. 8. 14. 14:00 AutoHotKey/Commands

SetFormat

수치 연산의 결과의 정수치·소수치의 문자열 표현 포맷을 설정

SetFormat, INTEGER, D|H
SetFormat,FLOAT, TotalWidth.DecimalPlaces[e|E]

Parameters

인수명설명
NumberType 「INTEGER」(정수치), 「FLOAT」(소수치)의 어느 쪽인지.
D|H NumberType하지만INTEGER의 경우의 제2 인수는,10진수 형식으로 하려면 「D」(을)를 지정.「0x」(으)로 시작된다16진수 형식으로 하려면 「H」(을)를 지정.
에 사용.
TotalWidth NumberType하지만 「FLOAT」의 경우의 경우의 제2 인수는, 「TotalWidth.DecimalPlaces」(피리오드 단락)의 형식에서2개의 수를 지정.
TotalWidth(은)는 문자열 표현의 최소의 문자수를 지정.
결과의 값의 문자수가 그대로는TotalWidth보다 적게 되어 버리는 경우,TotalWidth의 지정의 방법에 의해서 이하와 같은 형식에서 출력된다.
보통 수(1,2,...10...)
좌측으로 반각 스페이스를 채워 오른쪽맞춤(례:「  3.333333」)
수의 전에 「0」(을)를 붙인다(01,02,...010...)
우측으로 「0」(을)를 채워 오른쪽맞춤(례:「003.333333」)
수의 전에 「-」(을)를 붙인다(-1,-2,...-10...)
우측으로 반각 스페이스를 채워 왼쪽 가지런히 해(례:「3.333333  」)
원래TotalWidth보다 문자수가 많은 경우, 그대로 출력된다.
TotalWidth하지만DecimalPlaces보다 작은 경우, 항상 그대로 출력된다.
DecimalPlaces 소수점 이하의 자리수는, 반드시DecimalPlaces그리고 지정한 자리수가 된다.(예:「0.250000」)
자리수를 넘는 경우는, 사사오입 된다.(예:「0.666667」
DecimalPlaces하지만 「0」의 경우, 소수점도 표시되지 않게 된다.(10진정수와 같게 된다)
e|E DecimalPlaces의 후에 「e」혹은 「E」(이)가 붙일 수 있었을 경우, 「1.01e+002」(와)과 같이, 정수부1~9, 소수부DecimalPlaces자리수의 부동 소수점 표기로 출력되게 된다.
예를 들면, 「1.01e+003」(은)는 「1.01*10^3」(으)로 「1010」, 「1.01e-002」(은)는 「1.01*10^(-2)」(으)로 「0.0101」(을)를 나타낸다.
이 방식이라면, 「0.000000000000001」(와)과 같은 값으로도, 항상 유효 자리수DecimalPlaces+1자리수로 보관 유지할 수 있다.
계산의 입력에 대해서는, 「101e+1」 「101.0e1」 「0.000101e+10」(와)과 같은 표기도 인식된다.다만, 「101e1」(와)과 같이, 지수부의 부호와 소수부를 모두 생략 한 것은 인식되지 않는다.
대문자의E(을)를 지정했을 경우는, 「1.01E+001」(와)과 같은 출력 형식이 된다.

Remarks

INTEGER의 초기설정은 「D」(10진수),FLOAT의 초기설정은 「0.6」(소수점 이하6자리수 표시, 자리수 가지런히 해 없음)

편입 변수A_FormatInteger,A_FormatFloat그리고 정수·소수 각각의 현재의 설정치를 참조할 수 있다.

이 설정의 기본치는, 스크립트의 최초의AutoExecute섹션그리고 설정한다.
hot key등에서 새롭게 기동되었다스렛드그럼, 설정은 기본치로 설정된다.

변수가 수치/정수치/소수치인지를 판정하려면 ,if var is number/integer/float커멘드를 사용하면 좋다.

이 커멘드를 사용해도, 벌써 변수에 들어가 있는 수치의 포맷은 변환되지 않는다.
변환하려면 , 「0」(을)를 더하는 등의 계산을 실시하면 좋다.

숫자의 자리수 가지런히 해를 실시하려면 , 「SetFormat,FLOAT,6.0」 등으로 한 데다가, 「Var+=0.0」(와)과 같이 해 소수치 표현으로 변환하면 좋다.

Related

Assign expression (:=), EnvAdd, EnvSub, EnvMult, EnvDiv, AutoTrim, if var is type

Example(s)

Var = 11.333333
SetFormat, float, 6.2
Var -= 1  ; Sets Var to be 10.33 with one leading space because the total width is 6.
SetFormat, float, 0.2
Var += 1  ; Sets Var to be 11.33 with no leading spaces.

SetFormat, float, 06.0
Var += 0  ; Sets Var to be  000012

SetFormat, integer, hex
Var += 0  ; Sets Var to be 0xc
SetFormat, integer, d


AutoHotKey(오토핫키) 설명서 SetEnv

Posted by 발전소장
2014. 8. 14. 14:00 AutoHotKey/Commands

SetEnv

변수에 값을 대입한다

SetEnv, Var, Value
Var = Value

Parameters

인수명설명
Var 대입처의 변수명.변수명의 전개를 사용할 수 있다.
Value 대입하는 수치나 문자열.변수명의 전개를 사용할 수 있다.

Remarks

공문자열을 대입하는 것으로, 변수에 할당할 수 있었던 메모리를 개방할 수 있다.
변수에 큰 문자열이 격납될 가능성이 있는 경우는, 불필요하게 되면 공문자열을 할당해 개방하는 것으로, 메모리를 쓸데 없게 계속 하는 것 를 막을 수 있다.

Related

EnvSet, EnvAdd, EnvSub, EnvMult, EnvDiv, If, Arrays

Example(s)

Var1 = This is a string.
Color2 = 450
Color3 = %Var1%

;의사적인 배열
Loop,10{
	Array%A_Index% = %A_TICKCOUNT%
}
MsgBox,Array1
MsgBox,Array2

;불요 메모리의 개방
string=%large_string%
Gosub,use_string
string=


AutoHotKey(오토핫키) 설명서 SetDefaultMouseSpeed

Posted by 발전소장
2014. 8. 14. 13:59 AutoHotKey/Commands

SetDefaultMouseSpeed

MouseMove/Click/Drag(으)로의 마우스의 이동 속도를 설정

SetDefaultMouseSpeed, Speed 

Parameters

인수명설명
Speed 「0」(일순간으로 이동)(으)로부터 「100」천천히 이동까지의 정수를 지정.
초기치는 「2」.

Remarks

MouseClick, MouseMove, and MouseClickDrag그리고Speed인수를 생략 했을 때의 디폴트의 속도를 설정한다.

편입 변수A_DefaultMouseSpeed그리고 현재의 설정치를 참조할 수 있다.

이 설정의 기본치는, 스크립트의 최초의AutoExecute섹션그리고 설정한다.
hot key등에서 새롭게 기동되었다스렛드그럼, 설정은 기본치로 설정된다.

Related

MouseClick, MouseMove, MouseClickDrag, SetWinDelay, SetControlDelay, SetKeyDelay, SetKeyDelay

Example(s)

SetDefaultMouseSpeed, 0 ; Move the mouse instantly like AutoIt2.