AutoHotkey 스크립트 개선

AutoHotkey 스크립트 개선

이 스크립트의 목적은 다음과 같습니다.

  1. 단축키의 처음 두 줄은 항상 유효합니다.
  2. 나머지 단축키는 NO TEXT INPUT상태에서만 작동합니다. 즉, 작은 수직선이 화면 어디든 깜박거리며 텍스트/디지털 입력을 기다리고 있을 때 를 누르면 zxasq일반 원본 글자와 같은 효과가 나타납니다.

어떻게 해야 합니까?

Rwin::^space 
AppsKey::^w 

CapsLock::MButton 

z::PgUp 

x::PgDn 

*a up::send {shift up}{ctrl up}{LButton up}

*a:: 
GetKeyState, LButtonState, LButton ; 
if LButtonState = U ; 
send {shift down}{ctrl down}{LButton down} ; 
return 

*s up::send {shift up}{ctrl up}{RButton up} 

*s:: 
GetKeyState, RButtonState, RButton ; 
if RButtonState = U ; 
send {shift down}{ctrl down}{RButton down} ; 
return 

*q up::send {shift up}{ctrl up}{MButton up} 

*q:: 
GetKeyState, MButtonState, MButton ; 
if MButtonState = U ; 
send {shift down}{ctrl down}{MButton down} ; 
return

답변1

다음을 보면 현재 표시되는 커서 유형을 확인할 수 있습니다.A_Cursor

A_Cursor는 다음 중 하나입니다:

The type of mouse cursor currently being displayed. 
It will be one of the following words:
    AppStarting, Arrow, Cross, Help, IBeam, Icon, No, Size, SizeAll, SizeNESW, SizeNS, 
    SizeNWSE,     SizeWE, UpArrow, Wait, Unknown.

이 코드는 깜박이는 커서가 있는지 확인합니다.

if A_Cursor != Ibeam
    msgbox, Not Waiting for input
else
    msgbox, Waiting for input
return

관련 정보