Skip to content

Similar tools

mangokingTW edited this page Aug 15, 2026 · 3 revisions

同類工具比較

繁體中文 · 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