Skip to content

Similar tools Simplified

mangokingTW edited this page Aug 15, 2026 · 1 revision

同类工具比较

繁體中文 · English · 简体中文 · 日本語 · 한국어

这种需求别人做过——但每个方案都卡在某个地方。这页按「问题 → 竞品卡在哪 → 本工具怎么克服」整理,说明本工具的优点是怎么一一解决其他工具的痛点。

问题一:只切「输入法/语言」,不管「转换模式」

其他方案(Windows 内置的「每个窗口用不同输入法」、多数指示器工具)只记得每个窗口用哪个输入法。但真正恼人的是同一个中文输入法里的 中文/英数(全角/半角)转换模式——Windows 把它当 per-thread,切个窗口就跳回默认。英、日、中文社区对「切窗口就变中/英」的标准回复都是去开关那个内置设置,治标而已,因为它管的根本不是同一层。

本工具怎么克服:直接追踪并延续转换模式本身(通过 WM_IME_CONTROLIMC_GET/SETCONVERSIONMODE),把你上次选的模式带到下一个窗口——不是只换输入法。

问题二:AutoHotkey 工具被反作弊挡

最接近的竞品 KBLAutoSwitch 等是基于 AutoHotkey。AHK 为了通用自动化,通常会装低级全局键盘 hook并用 SendInput 合成按键——这正是反作弊(EAC / BattlEye / Vanguard)盯的宏特征,常被挡下甚至误封;这些工具也没着墨游戏支持。

本工具怎么克服:原生 C++,完全不装键盘 hook、不合成任何按键(只用被动的 WinEvent 前景通知)。它不长得像宏工具,所以能在反作弊游戏里正常运行。(可自行验证:整个 src/ 没有 SetWindowsHookExSendInputkeybd_event。)

问题三:碰不到读 raw-input 的全屏游戏

内置设置和消息小技巧对「直接吃键盘」的全屏游戏(如 Helldivers 2)没用——它们根本不参与 IME 状态管理,连可执行文件路径都读不到。

本工具怎么克服:改用 TSF 从框架端设置输入语言,并用 window class 辨识这类游戏,把它固定绑在英文(见 Helldivers 2 教程)。

问题四:指示器工具只显示、不动作

LangIndicatorImTipIMEIndicator 只在光标或系统托盘显示当前状态,不做持续、也不绑 app。

本工具怎么克服持续 + 程序绑定 + 光标指示器三合一;指示器只是其中一个可关的附加功能,不是全部。

问题五:脚本素材要自己组

AHK 的 IME 函数库(s-show/IME.ahk、eamat 版等)只是能读/设 IME 的积木,要 per-window 持续得自己写、自己维护。

本工具怎么克服:开箱即用的常驻小工具,装了就运行,不必写或养任何脚本。

一句话

日常中英切换 + 指示器,KBLAutoSwitch 这类已经很成熟;但只要你在意转换模式的跨窗口持续、要在反作弊游戏里用、或不想依赖 AutoHotkey,本工具正是为了跨过这三道墙而做的。

链接

Clone this wiki locally