[AHK]输入法状态提示,中文状态提示“中”,英文状态提示“EN”[转]
测试中发现使用小鹤双拼,如果不是使用shift切换中英文,效果不理想,留下此文章做个标记
https://www.autoahk.com/archives/8755
输入法状态提示,中文状态提示“中”,英文状态提示“EN”,
切换中英文状态的时候,或者用鼠标切换到另一个编辑窗口的时候再次提示,循环如此。
;功能:输入法状态提示 ;环境:win10+搜狗输入法,输入法状态切换用默认的shift键。 ;作者:sunwind ;时间:2018年9月1日 ;更新链接:https://blog.csdn.net/liuyukuan/article/details/82291632 ~Shift:: ToolTip If (IME_GET()=1) ToolTip,EN ;shift得反着提示,提示切换后的状态。 else ToolTip,中 return ~LButton:: If (A_Cursor = "IBeam" ) { Edit_Mode := 1 } else if(A_Cursor = "Arrow" ) { Edit_Mode := 0 } MouseGetPos, , , WhichWindow, WhichControl WinGetPos,winx,winy,,,%WhichWindow% ControlGetPos, x, y, w, h, %WhichControl%, ahk_id %WhichWindow% ;~ ToolTip, %WhichControl%`nX%X%`tY%Y%`nW%W%`t%H% if ( 0 = not_Edit_InFocus()) { If (IME_GET()=1) ToolTip,中 else ToolTip, EN } return ~Shift up:: ~Lbutton up:: Sleep,1000 ToolTip return not_Edit_InFocus(){ Global Edit_Mode ControlGetFocus theFocus, A ; 取得目前活動窗口 的焦點之控件标识符 return !(inStr(theFocus , "Edit") or (theFocus = "Scintilla1") ;把查到是文字編輯卻不含Edit名的theFucus加進來 or (theFocus ="DirectUIHWND1") or (Edit_Mode = 1)) } IME_GET(WinTitle="") ;----------------------------------------------------------- ; IMEの状態の取得 ; 対象: AHK v1.0.34以降 ; WinTitle : 対象Window (省略時:アクティブウィンドウ) ; 戻り値 1:ON 0:OFF ;----------------------------------------------------------- { ifEqual WinTitle,, SetEnv,WinTitle,A WinGet,hWnd,ID,%WinTitle% DefaultIMEWnd := DllCall("imm32\ImmGetDefaultIMEWnd", Uint,hWnd, Uint) ;Message : WM_IME_CONTROL wParam:IMC_GETOPENSTATUS DetectSave := A_DetectHiddenWindows DetectHiddenWindows,ON SendMessage 0x283, 0x005,0,,ahk_id %DefaultIMEWnd% DetectHiddenWindows,%DetectSave% Return ErrorLevel }
以下转自:https://www.autoahk.com/archives/8755
ahk中如何识别光标
A_Cursor:当前显示的鼠标光标类型. 其值为下列单词的其中一个: AppStarting, Arrow, Cross, Help, IBeam, Icon, No, Size, SizeAll, SizeNESW, SizeNS, SizeNWSE, SizeWE, UpArrow, Wait, Unknown. 与 size 指针类型一起的首字母表示方向, 例如 NESW = NorthEast+SouthWest. 手型指针 (点击和抓取) 属于 Unknown 类别.
A_Cursor是一个内置变量,不知道大家的理解能力,我看了帮助文档中的解释,我是没有太理解,这些光标类型具体指的是什么类型呢?
深入研究
下面我详细研究了一下,分享给大家!
APPSTARTING 标准的箭头和小沙漏
ARROW 标准的箭头
CROSS 十字光标
HAND Windows 98/Me, Windows 2000/XP: Hand
HELP 标准的箭头和问号
IBEAM 工字光标
ICON Obsolete for applications marked version 4.0 or later.
NO 禁止圈
SIZE Obsolete for applications marked version 4.0 or later.
SIZEALL 四向箭头指向东、西、南、北
SIZENESW 双箭头指向东北和西南
SIZENS 双箭头指向南北
SIZENWSE 双箭头指向西北和东南
SIZEWE 双箭头指向东西
UPARROW 垂直箭头
WAIT 沙漏,Windows7系统下会显示为选择的圆圈表示等待
Unknown未知
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库