轻松区分中文输入法和英文大写、英文小写状态
包含光标图标文件打包下载:
; 方便区分中文输入法和英文大写、英文小写状态 #NoEnv SetBatchLines -1 SetWorkingDir %A_ScriptDir% SetTimer 中文光标判断, 200 Return ; 光标指针文件显示效果可自行修改 中文光标判断: if !GetKeyState("CapsLock", "T") if (IME_GET()!=光标状态缓存) if IME_GET() DllCall("SystemParametersInfo", "Uint", SPI_SETCURSORS := 0x57, "Uint", 0, "Ptr", 0, "Uint", 0) , 光标状态缓存=1 else 英文光标 := DllCall( "LoadCursorFromFile", "Str", "C:\Windows\Cursors\beam_r.cur") ; beam_i.cur为黑色边缘 , DllCall("SetSystemCursor", "Uint", 英文光标, "Int", 32513) , 光标状态缓存=0 ; TaskBar_SetAttr() ; 托盘任务栏透明 Return ; 按CapsLock大小写时,鼠标光标同步切换来提示状态 CapsLock:: SetCapsLockState % !GetKeyState("CapsLock", "T") if GetKeyState("CapsLock", "T") 大写光标 := DllCall( "LoadCursorFromFile", "Str", A_ScriptDir "\小写光标beam_i.cur") , DllCall("SetSystemCursor", "Uint", 大写光标, "Int", 32513) else if IME_GET() DllCall("SystemParametersInfo", "Uint", SPI_SETCURSORS := 0x57, "Uint", 0, "Ptr", 0, "Uint", 0) else 英文光标 := DllCall( "LoadCursorFromFile", "Str", "C:\Windows\Cursors\beam_r.cur") ; beam_i.cur为黑色边缘 , DllCall("SetSystemCursor", "Uint", 英文光标, "Int", 32513) KeyWait CapsLock Return ; 输入法状态判断 IME_GET() { DefaultIMEWnd := DllCall("imm32\ImmGetDefaultIMEWnd", "Uint", WinActive("A"), "Uint") DetectHiddenWindows % ("On", DHW:=A_DetectHiddenWindows) SendMessage 0x283, 0x005, 0,, ahk_id %DefaultIMEWnd% DetectHiddenWindows %DHW% Return ErrorLevel }
声明:站内资源为整理优化好的代码上传分享与学习研究,如果是开源代码基本都会标明出处,方便大家扩展学习路径。请不要恶意搬运,破坏站长辛苦整理维护的劳动成果。本站为爱好者分享站点,所有内容不作为商业行为。如若本站上传内容侵犯了原著者的合法权益,请联系我们进行删除下架。
评论(0)