在文本光标左下角显示一个小圆点或小三角,用来提示当前输入法状态:英文 / 中文 / 大写 / 英文键盘 / 日文 / 韩文。 纯 Win32,无依赖,单 exe完全便携
赞助或支持该项目👇
https://docs.qq.com/aio/DRWtMY3FQS0ZHRGRG
把 IMEIndicator.exe 放到想要的位置,右键以管理员身份运行
普通权限无法检测管理员程序的中英状态
启动后无GUI,只在托盘显示一个字母 I 图标
托盘右键菜单:
| 菜单项 | 说明 |
|---|---|
| 打开GitHub仓库 | 在浏览器打开项目主页 |
| 记录日志 | 开/关调试日志,写到 <exe 目录>\log\IMEIndicator-<时间>.log |
| 打开配置 | 用记事本打开 IMEIndicator.ini(改完点「重启」生效) |
| 重启程序 | 重新加载配置 |
| 退出 | 退出程序 |
启动参数:
--log—— 启动即开日志(排查问题时不用先去点托盘菜单)
同一时刻只允许一个实例,重复启动会直接退出。
微信输入框无文字时不显示提示。
会造成部分游戏卡顿。可尝试将游戏进程添加至黑名单
首次运行会在 exe 同目录生成带注释的 IMEIndicator.ini(UTF-8)
- 颜色固定
#RRGGBB;透明度统一用Alpha,颜色值不带 AA - 色值写
0= 该状态不显示提示 0不等于黑色 —— 黑色写#000000- 改完必须重启才生效
状态判定:
| 状态 | 判据 | 默认颜色 |
|---|---|---|
| Caps | Caps Lock 打开 | 蓝 #0080FF |
| KbdEn | 键盘布局主语言为英文(0x09) | 紫 #8B00FF |
| Jp | 主语言日文(0x11) | 黑 #000000 |
| Kr | 主语言韩文(0x12) | 黑 #000000 |
| Cn / En | 其余布局走 IME 中英判定 | 绿 #00A000 / 红 #FF0000 |
显示时长(「临时显示」):
AutoHideMs = 1000—— 名单里的状态每次显示多久(毫秒);0= 不启用临时显示, 所有状态一律常显(即老版本行为)AutoHideStates = Cn—— 名单,逗号分隔,状态名同[Colors]的键名;all= 全部状态都临时显示,none= 全部维持常显- 什么时候会亮:状态变化、光标坐标变化、切换窗口/焦点控件后 —— 任一发生都重新
计时;所以连续输入时圆点一直在,停手约
AutoHideMs后自动消失,再动再出现 - 优先级:色值
0(不显示)> 临时显示 > 常显,写 0 的状态怎么都不会露面 - 中文态默认就在名单里:常驻一个点在中文输入时最容易碍眼,切成中文看一眼颜色即可
其它:
HideWhenFullscreen = 1—— 前景窗口全屏时不显示圆点(看视频/演示不遮挡)HideWhenComposition = 1—— 输入法正在打字(组合窗/候选窗出现)时隐藏圆点, 上屏/Esc 后自动回来。通用判定:焦点线程上出现"不抢焦点的浮动窗" (TOPMOST/NOACTIVATE)即视为打字中,与输入法类名解耦,各输入法开箱即用; 检测走纯窗口枚举,无跨进程消息调用[Ignore]—— 前台程序命中名单时彻底隐身:不做状态检测、不做光标查询、 不显示圆点。适合那些被跨进程查询拖卡的全屏程序(每行一个进程名); 进程名读不到的受保护程序(内核反作弊游戏等)同样隐身,无需写进名单CaretTimeoutMs = 150—— 单次光标查询最长等待(毫秒),见下Shape = circle—— 圆点形状:circle(圆,默认)或triangle(等边三角形,尖角朝上)。 两种形状按同一个Size计算大小,换形状不用重新调尺寸
需要 Visual Studio(MSVC x64):
build.bat
产物在 bin\IMEIndicator.exe。许可证 GPL-3.0-or-later,见 LICENSE。