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