관리 메뉴

ㄴrㅎnㅂrㄹrㄱi

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

AUTOHOTKEY/레퍼런스

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

님투 2007. 11. 5. 12:24
반응형

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
반응형
Comments