반응형
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- EnvAdd
- SetTitleMatchMode
- DetectHiddenWindows
- 식
- Threads
- 식의 설명
- EnvDiv
- EnvMult
- autohotkey
- if
- SetControlDelay
- Menu
- 배열
- StringGetPos
- MouseClick
- Var:=식
- SetMouseDelay
- IfInString
- SetKeyDelay
- API
- EnvSub
- ControlGetText
- 함수
- ControlSend
- EnvSet
- IfWinExist
- IF (식)
- SetEnv
- if(식)
- Blocks
Archives
- Today
- Total
ㄴrㅎnㅂrㄹrㄱi
Input 유저의 입력을 횡령해 취득한다(NT계 전용) 본문
반응형
Input
유저의 입력을 횡령해 취득한다(NT계 전용)
Input [, OutputVar, Options, EndKeys, MatchList]
Parameters
인수명 | 설명 |
---|---|
OutputVar |
입력된 텍스트를 격납하는 변수명. Enter키는LF(`n)(으)로서 기록되어 그 다른 비문자 키는 무시된다. |
Options | 이하의 옵션을 스페이스에서 단락지어 열거한다.
|
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
반응형
'AUTOHOTKEY > 레퍼런스' 카테고리의 다른 글
InStr() 문자열중에서 검색 문자열이 최초로 출현하는 위치를 돌려주는 함수 (0) | 2007.11.05 |
---|---|
InputBox 텍스트 입력을 요구하는 윈도우를 표시한다 (0) | 2007.11.05 |
IniWrite INI파일에 데이터를 쓴다 (0) | 2007.11.05 |
IniRead INI파일로부터 데이터를 읽어낸다 (0) | 2007.11.05 |
IniDelete INI형식의 파일로부터 값을 삭제한다 (0) | 2007.11.05 |
Comments