AutoHotKey(오토핫키) 설명서 #MaxThreadsBuffer

Posted by 발전소장
2014. 8. 13. 18:37 AutoHotKey/Commands

#MaxThreadsBuffer

해당 hot key의 스렛드의 실행수가#MaxThreadsPerHotkey그리고 지정한 상한에 이르고 있을 때 새롭게 hot key가 밀렸을 때, 실행 가능하게 될 때까지 뒷전으로 하는지, hot key를 무시하는지를 설정.

#MaxThreadsBuffer On|Off

Parameters

인수명설명
On|Off
On
뒷전으로 한다
Off
무시한다

Remarks

디폴트 설정은 「Off」

이 지령으로의 설정은, 기술된 장소로부터 다음에 이 지령이 기술되는 동안에 선언되고 있는 hot key에게만 영향을 준다.

벌써 하나 뒷전으로 하고 있는 경우는, 그 이상은 뒷전으로 되지 않고 무시된다.
뒷전으로 하고 있을 수 있는 시간은1초까지로, 그 이상 경과하면 파기된다.

이 기능은 주로, 키보드의 오토매틱으로 고속으로 연속 실행되는 기능을 할당할 때에 사용한다.
예를 들어, 키 반복 간격이50밀리 세컨드였던 경우, 실행되는 동작이60밀리 세컨드 걸려 버리면, 동작 종료후에 다음에 hot key가 밀려 실행 될 때까지40밀리 세컨드 걸려 버리지만, 이 기능을 유효하게 해 두기 전의 실행이 종료하자마자 다음의 동작이 실행된다.

Related

#MaxThreads, #MaxThreadsPerHotkey, Threads, Hotkey, #MaxHotkeysPerInterval, #HotkeyInterval, ListHotkeys

Example(s)

#MaxThreadsBuffer on
#x::MsgBox, This hotkey will use this type of buffering.
#y::MsgBox, And this one too.
#MaxThreadsBuffer off
#z::MsgBox, But not this one. 


AutoHotKey(오토핫키) 설명서 #MaxThreads

Posted by 발전소장
2014. 8. 13. 18:36 AutoHotKey/Commands

#MaxThreads

동시에 실행할 수 있는 최대의스렛드수를 설정

#MaxThreads Value 

Parameters

인수명설명
Value 1(으)로부터20까지의 정수를 지정

Remarks

디폴트 설정은 「10」.

이 지령은 스크립트중에서1회만 지정 가능.

「1」(을)를 지정할 수도 있지만,MsgBox등에서 정지중에 hot key를 실행할 수 없게 되어 버리기 위해, 추천 되지 않는다.

1행목으로ExitApp, Pause, Edit, Reload, KeyHistory, ListLines, ListVars, ListHotkeys하지만 실행되는 hot key는, 여기서의 설정에 관계없이 기동된다.

이 지령으로의 설정이#MaxThreadsPerHotkey(으)로의 설정보다 작은 경우, 이쪽의 설정이 우선된다.

Related

#MaxThreadsPerHotkey, Threads, #MaxHotkeysPerInterval, #HotkeyInterval, ListHotkeys

Example(s)

#MaxThreads 2


AutoHotKey(오토핫키) 설명서 #MaxMem

Posted by 발전소장
2014. 8. 13. 18:34 AutoHotKey/Commands

#MaxMem

변수를 사용할 수 있는 메모리 용량의 최대치를MB그리고 지정

#MaxMem Megabytes

Parameters

인수명설명
Megabytes 용량을MB그리고 지정.지정할 수 있는 범위는1...4095.초기설정은64.

Remarks

변수의 용량을 제한하는 것으로써, 스크립트가 대량의 메모리를 사용해 버리는 상황을 막을 수 있다.

스크립트가 사용하는 메모리를 절약하고 싶은 경우, 큰 사이즈의 데이터를 격납하는 변수는, 불필요하게 되면 공문자열을 대입해 주면 좋다.

VarSetCapacity에 의한 수동 할당에서는, 여기서의 설정에 관계없이 얼마든지 큰 사이즈를 할당할 수 있다.

Related

VarSetCapacity, Variables, Sort, WinGetText, ControlGetText, #MaxThreads

Example(s)

#MaxMem 256 ; Allow 256 MB per variable.


AutoHotKey(오토핫키) 설명서 #MaxHotkeysPerInterval

Posted by 발전소장
2014. 8. 13. 18:32 AutoHotKey/Commands

#MaxHotkeysPerInterval

지정 시간의 사이에 실행할 수 있는 최대의 hot key수를 설정(#HotkeyInterval(와)과 함께 사용)

#MaxHotkeysPerInterval Value

Parameters

인수명설명
Value hot key의 실행수의 상한을 지정(초기치는70)

Remarks

#HotkeyInterval(을)를 참조.

Related

#HotkeyInterval

Example(s)

#HotkeyInterval 2000 ; This is  the default value (milliseconds).
#MaxHotkeysPerInterval 50 ; This is the default value.


AutoHotKey(오토핫키) 설명서 #KeyHistory

Posted by 발전소장
2014. 8. 13. 18:31 AutoHotKey/Commands

#KeyHistory

KeyHistory(을)를 위해서 기록되는 조작의 최대수를 설정한다

#KeyHistory MaxEvents

Parameters

MaxEvents기록되는 조작의 최대수.
디폴트는40.
최대500까지 설정 가능.
「0」(을)를 설정하면, 조작 이력을 완전하게 무효화할 수 있다.

Remarks

눌러 인하 이벤트와 밀어 올려 이벤트를 각각 기록되므로, 실제로 기록되는 키 조작은 여기서 지정한 값의 반이 된다.
예를 들어,MaxEvents에 「50」(을)를 지정했을 경우,25문자 타이프 친다고 기록은 가득 찬다.

Related

Examples

#KeyHistory 0      ; Disable key history.
#KeyHistory 100  ; Store up to 100 events.


AutoHotKey(오토핫키) 설명서 #InstallMouseHook

Posted by 발전소장
2014. 8. 13. 18:30 AutoHotKey/Commands

#InstallMouseHook

무조건 마우스 훅을 유효하게 한다

#InstallMouseHook [force] 

Parameters

인수명설명
force 1.0.08이전으로는, 다른 스크립트가 훅을 사용하고 있었을 때에 경고가 표시되는 것을 억제하는 설정이 있었지만, 현재는 경고가 표시될 것은 없기 때문에 필요없다.

Remarks

마우스 훅을 사용하면,500KB(정도)만큼(키보드 훅과 동시에 사용하는 경우는,50KB(정도)만큼)메모리 소비가 증가해 시스템 전체의 퍼포먼스가 조금 저하한다.
그 때문에, 통상은 필요한 때 이외는 마우스 훅은 유효화 되지 않는다.

이 커멘드를 사용하면, 무조건 키보드 훅을 유효화할 수 있다.
이것에 의해,KeyHistory커멘드로 mouse button의 이력을 조사할 수 있다.

메인 윈도우의 메뉴나KeyHistory커멘드로, 훅이 유효하게 되어 있을까를 알 수 있다.
메인 윈도우의 메뉴나ListHotkeys커멘드로, 어느 hot key가 훅으로 동작하고 있을까를 알 수 있다.

이 커멘드를 사용하면, 스크립트는 무조건상주 상태(이)가 되어,ExitApp커멘드를 실행할 때까지 스크립트가 종료하지 않게 된다.

현재로서는,Windows9x계에서는 마우스 훅은 사용할 수 없다.

마우스 훅을 유효하게 하면, mouse button 조작외, 마우스 커서의 이동도AutoHotkey(을)를 통하고 나서 처리되게 된다.
이 때문에,CPU사용율이 높아지고 있을 때 등에 마우스의 응답이 나빠지는 경우가 있다.
Process, , Priority, High 」로서AutoHotkey의 프로세스의 우선도를 높이는 것으로, 이 상태를 완화할 수 있다.

Related

#InstallKeybdHook, #UseHook, Hotkey, #Persistent, KeyHistory

Example(s)

#InstallMouseHook
#InstallMouseHook force


AutoHotKey(오토핫키) 설명서 #InstallKeybdHook

Posted by 발전소장
2014. 8. 13. 18:29 AutoHotKey/Commands

#InstallKeybdHook

무조건 키보드 훅을 유효하게 한다

#InstallKeybdHook [force] 

Parameters

인수명설명
force 1.0.08이전으로는, 다른 스크립트가 훅을 사용하고 있었을 때에 경고가 표시되는 것을 억제하는 설정이 있었지만, 현재는 경고가 표시될 것은 없기 때문에 필요없다.

Remarks

키보드 훅을 사용하면,500KB(정도)만큼 메모리 소비가 증가해 시스템 전체의 퍼포먼스가 조금 저하한다.
그 때문에, 통상은 필요한 때 이외는 키보드 훅은 유효화 되지 않는다.

이 커멘드를 사용하면, 무조건 키보드 훅을 유효화할 수 있다.
이것에 의해,KeyHistory커멘드로 키 입력의 이력을 표시할 수 있게 되는 것 외에#HotkeyModifierTimeout의 설정에 관계없이 수식 키 상태 복원이 확실히 행해지도록 할 수 있다.

메인 윈도우의 메뉴나KeyHistory커멘드로, 훅이 유효하게 되어 있을까를 알 수 있다.
메인 윈도우의 메뉴나ListHotkeys커멘드로, 어느 hot key가 훅으로 동작하고 있을까를 알 수 있다.

이 커멘드를 사용하면, 스크립트는 무조건상주 상태(이)가 되어,ExitApp커멘드를 실행할 때까지 스크립트가 종료하지 않게 된다.

현재로서는,Windows9x계에서는 키보드 훅은 사용할 수 없다.

Related

#InstallMouseHook, #UseHook, Hotkey, #Persistent, KeyHistory

Example(s)

#InstallKeybdHook


AutoHotKey(오토핫키) 설명서 #Include / #IncludeAgain

Posted by 발전소장
2014. 8. 13. 18:27 AutoHotKey/Commands

#Include / #IncludeAgain

지정한 스크립트 파일의 내용을 그 위치에 짜넣는다

#Include FileName
#IncludeAgain FileName 

Parameters

인수명설명
FileName 짜넣는 파일명.
상대 패스로 기술했을 경우, 기준 디렉토리(스크립트 개시시는 커런트 디렉토리)(으)로부터 검색된다.
변수·환경 변수의 참조는 사용할 수 없지만,%A_ScriptDir%,%A_AppData%,%A_AppDataCommon%만일 수 있는은 예외적으로 사용할 수 있다.
인용부호로 둘러싸거나특정 문자를 이스케이프하거나 할 필요는 없다.

파일명의 전에 반각 스페이스에서 단락지어 「*i」라고 쓰면, 파일이 존재하지 않아도 에러로 하지 않고 그대로 실행하게 된다.

파일명 대신에 디렉토리 패스를 기술하면,#Include(이)나FileInstall그리고 사용되는 기준 디렉토리를 변경할 수 있다.
디렉토리 패스에는 변수·환경 변수의 참조는 사용할 수 없지만,%A_ScriptDir%만일 수 있는은 예외적으로 사용할 수 있다.
이 방법으로 기준 디렉토리를 변경해도, 스크립트 실행시의%A_WorkingDir%의 내용에는 영향은 없다.

Remarks

#Include / #IncludeAgain(은)는, 스크립트가 실행되기 전의 해석의 단계에서 실행된다.
스크립트가 실행될 때는, 마치#Include하지만 쓰여진 것에 지정된 스크립트 파일의 내용이 쓰여져 있는 것 같이 된다.

#Include(은)는, 벌써 한 번 짜넣어진 스크립트는 짜넣어지지 않다.
#IncludeAgain그럼, 벌써 짜넣어졌던 적이 있을까에 관계없이, 지정한 스크립트가 짜넣어진다.

함수 라이브러리기능을 이용하면,#Include(을)를 기술하지 않고 , 다른 파일에 기술된 함수를 호출할 수 있다.

ListLines등에서 표시되는 행 번호는, 편입을 실시하기 전의 것이 표시된다.

Example(s)

a=aaaa
#Include %A_ScriptDir%  ;여기에서 아래의#Include(이)나FileInstall의 기준 패스를 변경


#Include test.ahk

MsgBox,in main script

a=bbb
#Include test.ahk

MsgBox,in main script2

#IncludeAgain test.ahk
Loop,3
{
	a=%A_Index%
	#IncludeAgain test.ahk
}

;test.ahk
MsgBox,%a%


AutoHotKey(오토핫키) 설명서 #IfWinActive / #IfWinExist

Posted by 발전소장
2014. 8. 13. 18:25 AutoHotKey/Commands

#IfWinActive / #IfWinExist

hot key를 특정의 윈도우의 액티브/존재시만 유효하게 되도록(듯이) 설정한다

#IfWinActive [, WinTitle, WinText]
#IfWinExist [, WinTitle, WinText]
#IfWinNotActive [, WinTitle, WinText]
#IfWinNotExist [, WinTitle, WinText]

Parameters

인수명설명
WinTitle 윈도우 타이틀등의 조건을 지정.
윈도우 지정의 방법참조.
다만, 윈도우 타이틀과ahk_class,ahk_group, 그러한 복수 조건의 동시 지정만 유효.
ahk_id(와)과ahk_pid(은)는, 일단 기능하지만, 미리 알아 둘 수 없기 때문에 거의 의미가 없다.
「%VarName%」(와)과 같은 변수 참조는, 현재 사용할 수 없다.
다만, 장래의 확장을 위해서, 「%」기호는 「`%」(와)과 같이 이스케이프 해 두는 것.
WinText 윈도우에 포함되는 텍스트의 조건을 지정.
인수의 수가 늘려지기도 할 수 있으므로, 「,」(은)는 「`,」(와)과 같이 이스케이프 하는 것.

Remarks

이 지령이 기술된 부분에서(보다) 다음에 정의되는 hot key는, 기술된 조건에 일치하고 있을 때 마셔 유효하게 된다.
#IfWinActive그럼 지정 윈도우가 액티브때만,#IfWinExist그럼 지정 윈도우가 존재할 때 마셔,#IfWinNotActive그럼 지정 윈도우가 액티브하지 않을 때 마셔,#IfWinNotExist그럼 지정 윈도우가 존재하지 않을 때 마셔 유효하게 된다.

AltTabhot key(은)는 이러한 지령의 조건에 관계없이, 항상 유효하게 된다.

이러한 조건은, 마지막에 지정한 것 하나의 봐가 유효하게 된다.
「#IfWinActive」(와)과 같이 모든 인수를 생략 해 기술하면, 조건이 「조건 없음」이 된다.

조건 마다 같은 hot key에 다른 동작을 할당할 수 있다.

#IfWinActive ahk_class Notepad
^!c::MsgBox You pressed Control+Alt+C in Notepad.
#IfWinActive ahk_class WordPadClass
^!c::MsgBox You pressed Control+Alt+C in WordPad.
#IfWinActive
^!c::MsgBox You pressed Control+Alt+C in a window other than Notepad/WordPad.

「#IfWinActive ahk_class Notepad」와「#IfWinExist ahk_class Notepad」(와)과 같이, 복수의 동시에 성립 할 수 있는 조건에 액션을 설정해 두는 경우, 제일 최초로 설정된 조건부 액션이 우선된다.
일치하는 조건이 하나도 없는 경우, 「조건 없음」으로 설정된 액션이 실행된다.
「조건 없음」으로의 액션도 설정되어 있지 않은 경우, 그 키의 본래의 동작을 한다.(WindowsNT계만)

「Gosub,^!c」(와)과 같이 해 hot key 라벨에 직접 점프 하는 경우, 조건에 관계없이 스크립트의 제일 최초로 나타나는 hot key 라벨에 점프 한다.

스크립트 실행중에Hotkey커멘드를 사용하면, 스크립트의 최후로 지정되어 있던 조건하에서의 hot key 액션이 설정·변경된다.
「Hotkey,IfWinActive,ahk_class Notepad」(와)과 같이,IfWin...계 서브 커멘드로, 조건을 변경하거나 「조건 없음」으로 하거나 할 수 있다.

통상, 「a & b」(와)과 같은 콤비네이션 키를 지정해 있으면, 프리픽스 키(먼저 쓰여진 (분)편의 키)의 본래의 기능은 무효가 된다.
그러나, 그 키를 프리픽스로서 사용하는 콤비네이션 키가 모두 조건에 의해 무효가 되어 있을 때는, 그 키 본래의 동작을 한다.

IfWinActive및IfWinExist의 조건이 붙은 hot key 써브루틴이 실행될 때,LastFoundWindow(은)는 해당 윈도우로 설정된다.

Related

Hotkeys, Hotstrings, Suspend, Hotkey command, IfWinActive, IfWinExist, SetTitleMatchMode, DetectHiddenWindows

Examples

#IfWinActive ahk_class Notepad
^!a::MsgBox You pressed Ctrl-Alt-A while Notepad is active.  ; This hotkey will have no effect if pressed in other windows (and it will "pass through").
#c::MsgBox You pressed Win-C while Notepad is active.
::btw::This replacement text for "btw" will occur only in Notepad.
#IfWinActive
#c::MsgBox You pressed Win-C in a window other than Notepad.
#IfWinExist ahk_class Notepad
+#n::WinActivate
#IfWinExist
+#n::Run,notepad.exe


AutoHotKey(오토핫키) 설명서 #Hotstring

Posted by 발전소장
2014. 8. 13. 18:21 AutoHotKey/Commands

#Hotstring

핫 스트링의 옵션의 변경, 종료 문자의 지정

#Hotstring EndChars NewChars
#Hotstring NewOptions
#Hotstring NoMouse

Parameters

EndChars NewChars 그 스크립트내에서 사용하는 종료 문자를 설정한다.
스크립트내에서1회만 사용할 수 있어 스크립트 전체에 영향을 준다.
최대로100문자까지 지정할 수 있다.
NewOptions 옵션의 초기치를 변경한다.
이 지령은, 기술된 장소 이후에서만 유효하게 되어, 재차 변경할 수도 있다.
지정할 수 있는 옵션에 대해서는,핫 스트링의 옵션(을)를 참조.
NoMouse mouse button가 밀렸을 때에 감시 내용이 리셋트 되지 않게 한다.
스크립트내에서1회만 사용할 수 있어 스크립트 전체에 영향을 준다.

Related

Hotstrings

Example(s)

#Hotstring EndChars -()[]{}':;"/\,.?!`n `t
::btw::by the way
#Hotstring r c  ; All the below hotstrings will use "send raw" and will be case sensitive by default.
::al::airline
::CEO::Chief Executive Officer
#Hotstring c0 ; Make all hotstrings below this point case insensitive.