AutoHotKey(오토핫키) 설명서 ClipWait

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

ClipWait

클립보드의 내용을 텍스트로서 읽어낼 수 있는 것이 되는 것을 기다린다

ClipWait [, SecondsToWait ,AnyType]

Parameters

인수명설명
SecondsToWait 대기하는 최대의 초수.
소수도 사용 가능.
생략시는 무한하게 계속 대기한다.
AnyType「1」(을)를 지정하면, 텍스트 뿐만이 아니라 모든 형식을 기다리게 된다.ClipboardAll변수를 사용할 경우에 사용한다.

ErrorLevel

클립보드에 텍스트가 카피되지 않은 채SecondsToWait그리고 지정한 시간이 경과하면 「1」, 텍스트가 카피되면 「0」.

Remarks

이 커멘드를 실행하면, 클립보드에 텍스트로서 취급할 수 있는 데이터가 카피될 때까지 처리를 정지한다.

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

클립보드의 내용을 취득하려면 ,Clipboard변수를 사용한다.

HTML(이)나 익스플로러로 카피한 파일등도, 텍스트로 간주해진다.

Related

Clipboard

Example(s)

clipboard = ; Empty the clipboard
Send, ^c
ClipWait, 2
if ErrorLevel <> 0
{
	MsgBox, The attempt to copy text onto the clipboard failed.
	return
}
MsgBox, clipboard = %clipboard%
return


AutoHotKey(오토핫키) 설명서 Clipboard

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

Clipboard

Clipboard변수

Windows의 클립보드의 내용을 텍스트로서 읽어낼 수 있는 경우, 편입 변수Clipboard그리고 액세스 할 수 있다.
텍스트의 각 행은CR+LF(`r`n)단락으로 격납된다.

Explorer등에서 파일을 클립보드에 격납했을 경우, 풀 패스가 개행(`r`n)단락으로Clipboard에 격납된다.
parsing loop의 예의 같게 하면,1파일씩 처리할 수 있다.
Sort커멘드로 파일명을 이름순에 늘어놓을 수 있다.

Examples

clipboard = my text  ; 클립보드의 텍스트를 변경
clipboard =  ; 클립보드를 비운다
clipboard = %clipboard%  ;텍스트 이외의 형식을 텍스트에 변환
clipboard = %clipboard% Text to append.  ;클립보드에 텍스트를 추가
StringReplace, clipboard, clipboard, ABC, DEF, All  ; 클립보드의 내용을 치환

; Ctrl+C(을)를 송신해 카피된 내용을 표시
clipboard =
Send, ^c
ClipWait
MsgBox, Control-C copied the following contents to the clipboard:`n`n%clipboard%

ClipboardAll변수

편입 변수ClipboardAll(을)를 사용하면, 클립보드에 격납되는 전데이터를 정리해 다른 변수에 카피할 수 있다.
주로, 클립보드를 경유하는 처리를 실시할 때, 처리전의 내용을 보존해 두어 복원하기 위해서 사용한다.
써 되돌릴 때는,ClipboardAll(은)는 아니고Clipboard변수에 대입한다.

FileAppend,FileRead커멘드를 사용하면, 내용을 파일에 보존해 두는 일도 가능.

카피된 변수는, 더욱 다른 변수에 카피할 수 있다.
카피된 변수끼리는,If커멘드의 「<>」(이)나 「=」(으)로 비교할 수 있다.
StringLen커멘드로, 카피된 데이터의 사이즈를 취득할 수도 있다.

ClipboardAll변수로부터 다른 변수에 카피할 때는, 「#MaxMem」지령에 의한 변수 사이즈의 상한 설정은 무시된다.

ClipboardAll변수는, 다른 변수에의 카피와FileAppend커멘드 이외로 참조했을 경우는, 항상 비운다.
또,ClipboardAll(을)를 카피한 변수는, 통상의 변수와는 달라 바이너리 데이터를 격납한 상태가 되므로, 정상적으로 처리할 수 없다.

액세스 할 수 없는 데이터가 있는 경우, 그 데이터는 무시해 다른 데이터만이 처리된다.

데이터는, 데이터 본체의 전에 포맷 타입과 데이터 사이즈가 각각4아르바이트의 little endian(하위 바이트가 앞)의 아르바이트열로 부가된 것이 된다.
복수의 데이터를 포함한 경우는, 이것이 반복한다.
또, 마지막에0x00하지만4아르바이트 뒤따른다.

Examples

ClipSaved := ClipboardAll   ; 클립보드의 전내용을 보존

;클립보드를 경유한 처리(례)
Send,^c
Run,http://www.google.co.jp/search?q=%Clipboard%


Clipboard := ClipSaved   ; 클립보드의 내용을 복원
ClipSaved =   ;보존용 변수에 사용한 메모리를 개방
FileAppend, %ClipboardAll%, C:\clip.dat ;보존
FileRead, Clipboard, *c C:\clip.dat ;읽기(클립보드 데이터의 경우, 파일명의 전에 「*c」(을)를 붙인다)

OnClipboardChange써브루틴

「OnClipboardChange」라고 하는 이름의 라벨을 작성해 두면, 어떠한 어플리케이션에 의해서Windows의 클립보드가 변경되었을 때에 그 라벨이 실행되게 된다.
이 라벨은, 스크립트가 개시된 직후에도 실행된다.
이 라벨이 존재하는 것 만으로는, 스크립트는 상주 상태가 되지 않기 때문에, hot key나GUI(을)를 사용하지 않는 스크립트에서는 「#Persistent」지령으로 명시적으로 상주를 지정할 필요가 있다.

이 라벨이 벌써 실행되고 있을 때 다시 클립보드의 내용이 변경되었을 경우는, 이 라벨은 새롭게 실행되지 않는다.
클립보드의 변경이 무시되어 버리는 것을 피하고 싶은 경우는,SetTimer커멘드를 개입시켜 별스렛드를 기동해,OnClipboardChange자체는 즉석에서 종료해 버리면 된다.

라벨이 실행되었을 때, 편입 변수 「A_EventInfo」에 이하의 값이 격납된다.

0
클립보드가 비웠다
1
텍스트로서 사용할 수 있는 데이터가 격납되고 있다
2
텍스트로서 사용할 수 없는 데이터만이 격납되고 있다

Examples

;클립보드의 내용이 변경될 때마다, 데이터의 종별을 툴 팁 표시한다
#Persistent
return

OnClipboardChange:
ToolTip Clipboard data type: %A_EventInfo%
Sleep 1000
ToolTip  ; Turn off the tip.
return


AutoHotKey(오토핫키) 설명서 Click

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

Click

mouse button의 클릭/밀기 인하/인상등의 조작을 발생시킨다

Click[, Button, up/down, x, y, count, rel]

Parameters

인수명설명
Button 어느 버튼을 조작할까
LEFT
왼쪽 버튼(디폴트)
RIGHT
오른쪽 버튼
MIDDLE
중앙 버튼(휠)
WheelUp
휠을 상 회전(Windows2000/XP전용)
WheelDown
휠을 하 회전(Windows2000/XP전용)
X1
확장 버튼(Windows2000/XP전용)
X2
확장 버튼(Windows2000/XP전용)
「L」 「R」 「M」 「WU」 「WD」라고 하는 생략형에서도 지정 가능.
up/down 「Down」(이)나 「D」(을)를 지정하면, 버튼을 눌러 내려 만 해 떼어 놓지 않는다.
「Up」(이)나 「U」(을)를 지정하면, 눌러 내린 버튼을 떼어 놓는다.
생략시는 클릭을 실시한다.
X, Y 클릭하는 좌표.
생략시는 현재의 커서 위치
통상은 액티브 윈도우의 좌상으로부터의 상대 좌표이지만,CoordMode그리고 스크린 전체로의 절대 좌표로 변경할 수 있다.
Count 클릭·휠 회전하는 회수.
생략시는1회.
0(으)로 하면, 클릭을 실시하지 않고 커서의 이동만을 실시할 수 있다.
Rel 「Relative」(이)나 「Rel」(을)를 지정하면,X(와)과Y에 의한 이동은 현재의 커서 위치로부터의 상대 좌표가 된다.

Click커멘드에 한정해, 인수는 어떠한 차례로 기술해도 상관없다.
인수의 단락에는, 콤마 이외에 반각 스페이스도 사용할 수 있다.
이하의 예는 모두 같은 동작이 된다.

Click,Right,100,100,Down
Click,100,100,Right,Down
Click Down Right 100 100

다만, 수치의 인수에 관해서는, 하나만의 경우는Count,2개의 경우는 순서에X,Y,3개의 경우는 순서에X,Y,Count이다고 해석된다.

Remarks

Click커멘드는MouseClick커멘드와 달라, 컨트롤 패널로 좌우 버튼을 바꿔 넣고 있는지 어떤지에 관련되지 않고 같은 동작이 된다.

일부의 어플리케이션에서는,WheelUp(이)나WheelDown(을)를Count(와)과 함께 사용해도 여러 차례의 동작이 되지 않는 경우가 있다.
그 경우는,Loop(을)를 사용해 여러 차례 커멘드를 실행하면 좋다.

마우스 커서가 이동하고 있는 동안, 유저가 다른 조작을 실시할 수 없게 하려면 ,BlockInput커멘드를 사용한다.

마우스 조작의 뒤에는, 다른 프로세스가 마우스 조작에 확실히 응답하기 위해서, 짧은 휴지가 삽입된다.
그 길이는,SetMouseDelay그리고 설정할 수 있다.

Click커멘드는Send커멘드내에 키로서 묻을 수 있다.
아래와 같이 하는 것으로, 수식 키 첨부의 클릭 조작을 간단하게 기술할 수 있다.

Send +{Click 100, 200}  ; Shift+LeftClick
Send ^{Click 100, 200, right}  ; Control+RightClick

Related

Send {Click}, SendMode, CoordMode, SetDefaultMouseSpeed, SetMouseDelay, MouseClick, MouseClickDrag, MouseMove, BlockInput

Examples

Click  ; Click left mouse button at mouse cursor's current position.
Click 100, 200  ; Click left mouse button at specified coordinates.
Click 100, 200, 0  ; Move the mouse without clicking.
Click 100, 200 right  ; Click the right mouse button.
Click 2  ; Perform a double-click.
Click down  ; Presses down the left mouse button and holds it.
Click up right  ; Releases the right mouse button.


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

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

Chr()

ASCII코드를 문자로 변환하는 함수

Chr(N)

Parameters

인수명설명
N0(으)로부터255의 사이의 정수를 지정한다.

Remarks

N그리고 지정되었다ASCII코드로 나타내진다1문자를 문자열로서 돌려준다.
N에0~255이외를 지정했을 경우는, 길이 제로의 공문자열이 돌아간다.

Related

함수


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

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

Ceil()

주어진 수치보다 큰 최소의 정수를 돌려주는 함수

Ceil(N)

Parameters

인수명설명
N원이 되는 수치를 지정한다

Remarks

돌아가 값은 정수치 표현이 된다
N하지만 수치가 아니었던 경우나, 계산 불능인 값이 주어졌을 경우는, 길이 제로의 공문자열이 돌아간다.

Related

함수


AutoHotKey(오토핫키) 설명서 Break

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

Break

각종Loop(을)를 빠진다

Break

Remarks

제일 안쪽의 루프를 빠져 루프 내용의 다음의 행에 실행을 옮긴다.

Related

Loop, Continue, Blocks

Example(s)

loop
{
	...
	if var > 25
		break
	...
	if var <= 5
		continue
}


AutoHotKey(오토핫키) 설명서 BlockInput

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

BlockInput

키보드나 마우스등에서의 입력을 무효화·무효화 해제한다

BlockInput, Mode

Parameters

인수명설명
Mode
On
모든 입력을 무효화한다
Off
입력을 유효하게 한다
Send
Send(이)나SendRaw커멘드를 실행할 때에에 자동적으로 입력 블록이 유효화 되도록(듯이) 한다.(2000/XP이외에서는 무의미)
Mouse
MouseMove,MouseClick,MouseClickDrag커멘드 실행시에 자동적으로 입력 블록이 유효화 되도록(듯이) 한다(2000/XP이외에서는 무의미)
SendAndMouse
Send(와)과Mouse(을)를 동시에 설정
Default
Send(와)과Mouse의 설정을OFF(으)로 한다
MouseMove
마우스 커서를 이동할 수 없게 한다
MouseMoveOff
「BlockInput,MouseMove」(을)를 해제한다

Remarks

이 커멘드를 사용하면,AutoHotkey에 의한 조작 자동화 시에 유저의 입력이 섞이는 것에 의해서 오조작이 발생하는 것을 막을 수 있다.

입력을 무효화하고 있는 동안은,AutoHotkey의 hot key도 동작하지 않게 된다.
다만, 일부의Hook(을)를 이용한 hot key는 동작한다.

이 커멘드를 실행하는 순간에, 수식 키를 눌러 내리고 있어 입력이 무효화되고 있는 동안에 놓아지면, 그 수식 키가 눌러 내릴 수 있던 채가 되어 버린다.
이것을 막으려면 ,KeyWait커멘드로 수식 키가 놓아지는 것을 기다리고 나서BlockInput,On(을)를 실행하면 좋다.

「BlockInput,MouseMove」(이)가 실행되면,마우스 훅하지만 유효화 된다.
그 이후는, 스크립트가상주 상태(이)가 되어,ExitApp커멘드를 실행할 때까지 종료하지 않게 된다.
Susupend커멘드인가Hotkey커멘드가 실행될 때, 마우스 훅이 필요없게 되고 있으면 해제된다.

스크립트 종료시에는 자동적으로 입력은 유효하게 되돌려진다

API의 사양에 의해Ctrl+Alt+Del(을)를 실행하면, 입력은 유효하게 돌아온다.

이 커멘드는,OS에 의해서 효과에 차이가 있다.

OS 효과
Windows95 효과 없음
WindowsNT4(SP6이전) 효과 없음
Windows98/Me 유저의 입력과 함께,AutoHotkey하지만 생성하는 입력(Send,SendRaw,MouseMove,MouseClick,MouseClickDrag등)도 무효화된다
WindowsNT4(SP6)/2000/XP 유저의 입력은 무효화되지만,AutoHoteky하지만 생성하는 입력은 유효.


Example(s)

if A_OSVersion <> WIN_98
	if A_OSVersion <> WIN_ME
		BlockInput, on
Run, notepad
WinWaitActive, Untitled - Notepad
Send, {F5} ; pastes time and date
BlockInput, off


AutoHotKey(오토핫키) 설명서 AutoTrim

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

AutoTrim

변수의 대입으로, 문자열의 초와 마지막의 공백 문자를 자동 제거할지를 설정한다

AutoTrim, On|Off

Parameters

인수명설명
On|Off 「On」(으)로 하면, 변수의 대입시에 전후의 반각 스페이스와Tab문자가 자동 제거된다.
「Off」(으)로 하면, 자동소 오늘은 행해지지 않는다.
초기설정은 「On」.

Remarks

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

식의 대입(:=)에 의한에 있어서의 「"」(으)로 둘러싸인 문자열에서는,AutoTrim의 설정에 관계없이, 전후의 공백 문자의 제거는 행해지지 않는다.

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

Example(s)

AutoTrim, off
NewVar1 = %OldVar% ; If OldVar contains leading and trailing spaces, NewVar will have them too.
NewVar2 = %A_Space%  ; With AutoTrim off, a single space can be assigned this way.


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

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

ATan()

주어진 값에 대응하는 arctangent를 라디안으로 돌려주는 함수

ATan(N)

Parameters

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

Remarks

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

Related

함수


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

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

ASin()

주어진 값에 대응하는 아크사인을 라디안으로 돌려주는 함수

Asin(N)

Parameters

인수명설명
N-1(으)로부터1까지의 수치를 지정한다

Remarks

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

Related

함수