AutoHotKey(오토핫키) 설명서 Ln()

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

Ln()

주어진 수치의 자연대수(네피아수e(을)를 바닥으로 한 대수)(을)를 돌려주는 함수

Ln(N)

Parameters

인수명설명
N진수를 지정한다

Remarks

인수가 수치가 아니었던 경우나, 계산 불능인 값이 주어졌을 경우는 길이 제로의 공문자열이 돌아간다.

Related

함수


AutoHotKey(오토핫키) 설명서 ListVars

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

ListVars

변수명과 변수의 내용을 일람표시

ListVars 

Remarks

스크립트가 사용한 변수명과 그 내용이 일람표 나타난다.
F5키를 누르면 최신의 정보로 갱신된다.

메인 윈도우의 「View」→「Variables」메뉴와 같다.

함수 중(안)에서 실행되었을 경우, 함수의 로컬 변수가 위에 표시된다.

리스트에는, 변수명, 변수의 길이, 변수에 확보되고 있는 기억 영역의 용량, 변수의 내용의 최초의60아르바이트가 표시된다.

Related

KeyHistory, ListHotkeys, ListLines

Example(s)

ListVars


AutoHotKey(오토핫키) 설명서 ListLines

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

ListLines

스크립트가 최근 실행한 커멘드를 표시

ListLines

Remarks

스크립트가 최근 실행한 커멘드를 표시.
F5키를 누르지 않는다고 표시는 갱신되지 않는다.
표시되는 행 번호는 대개 파일에 쓰여져 있는 행으로 일치하지만, 내용이 일부 차이가 나는 경우가 있다.

메인 윈도우의 「View」→「Lines most recently executed」메뉴와 같다.

Related

KeyHistory, ListHotkeys, ListVars

Example(s)

ListLines


AutoHotKey(오토핫키) 설명서 ListHotkeys

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

ListHotkeys

등록되어 있는 hot key의 정보를 일람표시

ListHotkeys

Remarks

등록되어 있는 hot key와 현재 유효할지, 키, 마우스 훅이 사용되고 있는지 어떤지,스렛드하지만 기동하고 있을지를 일람표시 한다.

메인 윈도우의 「View」→「Variables」메뉴와 같다.

Related

#InstallKeybdHook, #InstallMouseHook, #UseHook, KeyHistory, ListLines, ListVars, #MaxThreadsPerHotkey, #MaxHotkeysPerInterval

Example(s)

ListHotkeys


AutoHotKey(오토핫키) 설명서 KeyWait

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

KeyWait

키보드나 마우스, 죠이스틱의 버튼이 밀린다/떼어 놓아질 때까지 대기

KeyWait, KeyName [, Options]

Parameters

인수명설명
KeyName 문자 키의 문자나키 일람에 있는 키명.
죠이스틱의Joy1...Joy32이외의 요소는 사용 할 수 없다.
Options
이하의 것을 반각 스페이스 단락으로 지정.
D
눌러 내릴 수 있는 것을 기다린다(통상은 떼어 놓아지는 것을 기다린다)
L
강제적으로 논리적 판정을 사용
Tn
n에 대기하는 최대초수를 지정(례:T3).소수도 지정 가능.

ErrorLevel

T옵션으로 지정한 초수가 경과했을 경우 「1」, 그 이외는 「0」

Remarks

Options하지만 아무것도 지정되지 않았던 경우, 지정한 키가 떼어 놓아질 때까지 계속 쭉 대기한다.

WindowsNT계로 키보드/마우스 훅이 사용되고 있는 경우, 물리적인 키/버튼 상태(유저가 실제로 키/버튼을 누르고 있을까)에 의해서 판정된다.
#InstallKeybdHook(이)나#InstallMouseHook지령으로, 강제적으로 훅을 유효하게 하는 것이 가능.

상기의 조건에 들어맞지 않는 경우, 논리적인 상태로 판정된다.
이 경우,AutoHotkey의Send커멘드와 같은 프로그램에 의해서 생성된 조작에도 반응해 버린다.

대기중은 hot key나 타이머등에서 기동되었다스렛드하지만 끼어들 수 있다.

복수의 키가 지정 상태가 되는 것을 기다리게 한 싶은 경우는, 복수의KeyWait(을)를 연속해 실행하면 좋다

KeyWait,Control
KeyWait,Alt

복수의 키 중 어떤 것인가가 밀리는 것을 기다리고 싶은 경우는,Input커멘드를 사용한다

Related

Key List, GetKeyState, Input, KeyHistory, #InstallKeybdHook, #InstallMouseHook, ClipWait, WinWait

Example(s)

KeyWait, a  ; Wait for the A key to be released.
KeyWait, LButton, D  ; Wait for the left mouse button to be pressed down.
KeyWait, Joy1, D T3  ; Wait up to 3 seconds for the first joystick button to be pressed down.
KeyWait, LAlt, L  ; Wait for the left-alt key to be logically released.
; Hotkey example:
~Capslock::
KeyWait, Capslock  ; Wait for user to physically release it.
MsgBox You pressed and released the Capslock key.
return
; Remapping example:
; The left mouse button is kept held down while NumpadAdd is down,
; which effectively transforms NumpadAdd into the left mouse button.
*NumpadAdd::
MouseClick, left,,, 1, 0, D  ; Hold down the left mouse button.
KeyWait, NumpadAdd   ; Wait for the key to be released.
MouseClick, left,,, 1, 0, U  ; Release the mouse button.
return

; This example shows how to detect when a key has been double-pressed (similar to double-click):
; It relies on #MaxThreadsPerHotkey being at its default setting of 1.
~RControl::
if A_PriorHotkey <> ~RControl
{
	KeyWait, RControl
	return
}
if A_TimeSincePriorHotkey > 400 ; Too much time between presses, so this isn't a double-press.
{
	KeyWait, RControl
	return
}
MsgBox You double-pressed the right control key.
return


AutoHotKey(오토핫키) 설명서 KeyHistory

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

KeyHistory

키보드, 마우스의 조작 이력을 표시

KeyHistory

Remarks

입력된 조작의 키코드등을 조사할 수 있다.
hot key로키코드를 직접 지정하고 싶은 경우나,Send커멘드로 키코드 지정으로 키를 송신하고 싶은 경우는 여기서 조사하면 좋다.

메인 메뉴의 「View」→「Key history」와 같다.

#KeyHistory지령으로 기록하는 조작의 수를 설정할 수 있다.

유저가 입력한 조작을 표시하기 위해서는, 키보드 훅이나 마우스 훅을 유효하게 되어 있을 필요가 있다.
특정의 hot key를 등록하고 있으면, 자동적으로 훅은 유효하게 되지만, 확실히 훅을 유효하게 하려면 이하와 같이 한다.

#InstallKeybdHook
#InstallMouseHook

Related

#KeyHistory, #InstallKeybdHook, #InstallMouseHook, ListHotkeys, ListLines, ListVars

Example(s)

KeyHistory ; Display the history info in a window.


AutoHotKey(오토핫키) 설명서 IsLabel()

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

IsLabel()

라벨이 정의되고 있는지를 판별하는 함수

IsLabel("LabelName")

Parameters

인수명설명
"LabelName"존재할지를 조사하고 싶은 라벨명을 문자열로 지정한다.

Remarks

「Gosub,%LabelName%」(와)과 같은 동적 라벨명을 이용해 점프 할 때, 해당 라벨이 존재할지를 조사하기 위해서 사용한다.

해당 라벨에 점프 할 수 할 수 없어도, 스크립트의 어디엔가 라벨이 존재하면 「1」(이)가 돌려주어진다.
예를 들면, 타처의 함수내에서 정의되고 있는 라벨 등이다.

Related

GoSub, GoTo

Examples

if(IsLabel("Label")){
	GoSub,Label
}

Label:
MsgBox,This is Subroutine
return


AutoHotKey(오토핫키) 설명서 InStr()

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

InStr()

문자열중에서 검색 문자열이 최초로 출현하는 위치를 돌려주는 함수

InStr(String, Needle [, CaseSensitive=false, StartingPos=1]) 

Parameters

인수명설명
String문자열을 지정한다
Needle위치를 조사하고 싶은 문자열을 지정한다
CaseSensitivetrue(으)로 한다고 대문자 소문자를 구별한다
StartingPos검색을 개시하는 위치를 지정한다

Remarks

String그리고 주어진 문자열 중(안)에서,Needle그리고 주어진 문자열이 최초로 출현하는 위치를 돌려준다.
String의1문자눈은 「1」로서 다루어진다.
발견되지 않았던 경우는 「0」(이)가 돌아간다.
StartingPos(을)를 「2」이상으로 설정하면,StartingPos문자눈 이후의 출현 위치를 검색한다.
StartingPos하지만String의 길이 이상이 되는 경우는, 「0」(이)가 돌아간다.
StartingPos(을)를 「0」(으)로 하면,String안의 제일 마지막Nedle의 위치가 돌아간다.
StartingPos(을)를 지정했을 경우에서도, 돌아가 값은 문자열의 선두로부터 센 위치가 된다.

Related

함수, StringGetPos


AutoHotKey(오토핫키) 설명서 InputBox

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

InputBox

텍스트 입력을 요구하는 윈도우를 표시한다

InputBox, OutputVar [, Title, Prompt, HIDE, Width, Height, X, Y, Font, Timeout, Default]

Parameters

인수명설명
OutputVar 입력된 텍스트를 격납하는 변수명
Title 윈도우의 타이틀.생략시는 스크립트명.
Prompt 윈도우에 표시되는 메세지.생략시는 아무것도 표시되지 않는다.
HIDE 「HIDE」라고 지정하면, 패스워드 입력란과 같이 입력된 문자가 「*」(이)가 된다.
Width 윈도우의 폭을 피크셀수로 지정.생략시는375.최악이어도130정도 없으면 버튼이 표시 다 할 수 없다.덧붙여 윈도우는 리사이즈 가능.
Height 윈도우의 높이를 피크셀수로 지정.생략시는189.110정도 없으면Prompt하지만 숨어 버린다.
X, Y 윈도우의 표시되는 좌표.각각 생략시는, 스크린의 중심이 된다.
Font 미실장.
Timeout 입력의 시간제한을 초수로 지정.최대는 「2147483」(24.8일)그리고, 이것을 넘었을 경우는 이 값이 된다.이 시간을 넘기면, 윈도우는 닫혀져ErrorLevel하지만 「2」(이)가 된다.OutputVar에는, 그 시점에서 유저가 입력하고 있던 문자열이 격납된다.
Default 윈도우 표시시에 입력란에 들어가 있는 내용.

ErrorLevel

0
「OK」버튼이 밀렸다
1
「Cancel」버튼이 밀렸다
2
Timeout그리고 지정한 시간이 경과했다

Remarks

텍스트 입력란과 「OK」 「Cancel」버튼이 붙은 윈도우가 표시된다.
입력란에 포커스가 있을 때Enter키를 눌렀을 경우, 「OK」버튼을 누른 것이라고 동일 취급이 된다.
윈도우의 「닫는다」버튼등을 누르고 윈도우를 닫았을 경우는, 「Cancel」버튼을 누른 것이라고 동일 취급이 된다.

「Cancel」버튼이 밀리거나Timeout의 시간이 경과했을 경우에서도,OutputVar에는 그 시점에서 입력란에 입력되고 있던 내용이 격납된다.

입력을 기다리고 있는 동안, 현재의스렛드(은)는 정지한다.
입력을 기다리고 있는 동안은, 다른 스렛드가 끼어드는 것이 가능.
끼어든 스렛드가 하나 더InputBox의 윈도우를 표시하는 일도 가능.

Gui,+OwnDialogs(을)를 사용하는 것으로,GUI윈도우의 아이 윈도우로서 다이얼로그를 표시할 수 있다.
아이 윈도우로서 다이얼로그가 표시되고 있는 동안은, 부모가 된다GUI윈도우는 조작할 수 없게 된다.

Related

Input, MsgBox, FileSelectFile, FileSelectFolder, SplashTextOn, ToolTip

Example(s)

InputBox, password, Enter Password, (your input will be hidden), hide 
InputBox, UserInput, Phone Number, Please enter a phone number., , 640, 480
if ErrorLevel <> 0
	MsgBox, CANCEL was pressed.
else
	MsgBox, You entered "%UserInput%"


AutoHotKey(오토핫키) 설명서 Input

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

Input

유저의 입력을 횡령해 취득한다(NT계 전용)

Input [, OutputVar, Options, EndKeys, MatchList]

Parameters

인수명설명

OutputVar

입력된 텍스트를 격납하는 변수명.
Enter키는LF(`n)(으)로서 기록되어 그 다른 비문자 키는 무시된다.
Options 이하의 옵션을 스페이스에서 단락지어 열거한다.
B
백 스페이스가 밀려도 입력된 문자를 삭제하지 않는다
C
MatchList그리고 대문자 소문자를 구별한다
I
AutoHotkey하지만Send커멘드등에서 생성한 키 입력을 무시한다
M
Ctrl+A(으)로부터Ctrl+Z까지의 단축 키를 받아 들이도록(듯이) 한다.
이러한 입력이 이루어졌을 경우,OutputVar하1(으)로부터26까지의ASCII문자가 된다.
「Transform, CtrlC, Chr, 3」(와)과 같이 해 변수에 같은ASCII문자를 격납해, 「if OutputVar = %CtrlC%」(와)과 같이 해 각 단축 키가 밀렸는지를 판정한다.
Ln
n에 입력을 받아들이는 문자수의 상한을 지정한다.(례:L5)
이 문자수를 넘으면, 커멘드는 종료해,ErrorLevel(은)는 「Max」(이)가 된다.
생략시는16383문자까지 받아들인다.
Tn
n에 입력을 기다리는 최대의 초수를 지정한다.소수도 사용 가능.(례:T5)
이 초수이상이 경과하면, 커멘드는 종료해,ErrorLevel(은)는 「Timeout」(이)가 된다.
타임 아웃 해도, 그때까지 입력된 문자열은OutputVar에 격납된다.
V
입력을 빼앗고 시스템으로부터 숨겨 버리지 않는다.
통상은, 입력을 받아들이고 있는 동안은, 입력된 키는 다른 어플리케이션에는 보내지지 않지만, 이 옵션을 지정하면, 보통으로 다른 어플리케이션에 보내진다.
*
입력 문자열에 대해, 부분 일치로MatchList(와)과의 일치 판정을 실시한다.통상은 완전 일치.
예를 들어,MatchList에 「age」(을)를 지정했을 경우, 통상은 「age」라고 입력하면 성냥이 되지만, 「*」옵션을 붙이면 「sage」라고 입력해도 성냥 하게 된다.
OutputVar에는 입력된 문자열 모든 것이 격납된다.
EndKeys 입력을 종료시키는 키.
이 키가 밀리면, 커멘드의 실행이 종료해,ErrorLevel에 「Endkey:밀린 키명」이 대입된다.
Send커멘드로 사용하는 포맷으로 문자나 특수 키명을 열거한다.
Ctrl키등의 수식 키를 지정할 때는, 「{LCtrl}」(와)과 같이 좌우를 명시 지정할 필요가 있다.
MatchList ,」(으)로 단락지어 문자열을 열거한다.
입력 내용이 여기에 열거한 것에 일치했을 경우, 커멘드는 종료해ErrorLevel하지만 「Match」(이)가 된다.
콤마 단락이지만, 인수의 단락과는 취급이 달라, 콤마의 전후의 공백 문자 등은, 문자열의 일부로 간주해진다.
변수의 내용은 전개되고 나서, 콤마로 분할된다.리스트가 길어지는 경우는, 변수에 격납해 두면 좋다.
문자열중에서 콤마를 나타내려면 ,2개의 콤마의 연속(,,)(을)를 사용한다.

ErrorLevel

1 or 0

모든 인수를 생략 해 실행했을 경우, 세치기에 의해 정지중의 스렛드로 실행되고 있다Input커멘드를 종료시키면 「0」, 정지시킨다Input커멘드가 없었으면 「1」(이)가 된다.
NewInput 끼어들었다스렛드하지만 새롭다Input커멘드를 실행했다
Max 입력이 옵션의 「L」(으)로 지정한 길이를 넘어MatchList그리고 지정한 문자열에는 성냥 하지 않았다
Timeout 옵션의 「T」(으)로 지정한 타임 아웃 시간이 경과했다
Match MatchList그리고 지정한 문자열에 매치했다
EndKey:name Endkeys에 열거된 종료 키가 밀렸을 경우.
Endkey:」에 이어 그 키명이 격납된다.
예를 들면, 「Endkey:Enter」.

Remarks

이 커멘드를 사용하면, 키보드에 의한 입력을 감시하고, 입력된 텍스트를OutputVar에 격납할 수 있다.
입력의 감시는Endkeys그리고 지정된 키가 밀리는지,L옵션으로 지정한 문자수에 이르는지,T옵션으로 지정한 시간이 경과하는지,MatchList그리고 지정되어 있는 문자열에 입력이 일치하면 종료해, 종료 이유가ErrorLevel변수에 격납된다.

입력을 기다리고 있는 동안은, hot key나 메뉴등에서 새로운스렛드하지만 끼어드는 것이 가능.
끼어들어 온 스렛드로 새롭게Input커멘드가 실행되면, 끼어들어졌다Input커멘드는ErrorLevel하지만 「NewInput」가 되어 종료한다.
Input커멘드를 인수 없이 실행하면, 기존의Input커멘드의 종료만을 한다.

이 커멘드가 최초로 실행되었을 때,키보드 훅하지만 유효화 된다.
그 이후는, 스크립트가상주 상태(이)가 되어,ExitApp커멘드를 실행할 때까지 종료하지 않게 된다.

핫 스트링의 기능을 사용하면, 간단하게 특정의 키스트로크(keystroke)에 대해서 동작을 할당할 수 있다.

Related

KeyWait, InputBox, #InstallKeybdHook, Threads, StringCaseSense

Example(s)

; Wait for the user to press any key.  Keys that produce no visible character,
; such as the modifier keys, function keys, and arrow keys, are listed as end keys
; so that they will be detected too.
Input, SingleKey, L1, {LControl}{RControl}{LAlt}{RAlt}{LShift}{RShift}{LWin}{RWin}{F1}{F2}{F3}{F4}{F5}{F6}{F7}{F8}{F9}{F10}{F11}{F12}{Left}{Right}{Up}{Down}{Home}{End}{PgUp}{PgDn}{Del}{Ins}{BS}{Capslock}{Numlock}{PrintScreen}{Pause}
; This is a working hotkey example. Since the hotkey has the tilde (~) ~[:: Input, UserInput, V T5 L4 C, {enter}.{esc}{tab}, btw,otoh,fl,ahk,ca if ErrorLevel = Max { MsgBox, You entered "%UserInput%", which is the maximum length of text. return } if ErrorLevel = Timeout { MsgBox, You entered "%UserInput%" at which time the input timed out. return } if ErrorLevel = NewInput return IfInString, ErrorLevel, EndKey: { MsgBox, You entered "%UserInput%" and terminated the input with %ErrorLevel%. return } ; Otherwise, a match was found. SetKeyDelay, -1 ; Most editors can handle the fastest speed. if UserInput = btw Send, {backspace 4}by the way else if UserInput = otoh Send, {backspace 5}on the other hand else if UserInput = fl Send, {backspace 3}Florida else if UserInput = ca Send, {backspace 3}California else if UserInput = ahk Run, www.autohotkey.com return