Skip to content
Mango Yen edited this page Aug 9, 2026 · 34 revisions

ImeModePersistence

Windows 小工具,切換視窗時保留你最後一次選擇的輸入模式,並可把個別程式綁定到固定的輸入語言。

這裡是操作導向的說明。程式本身的介紹在 README,設計取捨與被否決的做法在 docs/design.md

快速開始

  1. Releases 下載 ...-setup.exe 安裝(裝在使用者目錄,不需管理員權限),或用 ...-x64.zip 免安裝。
  2. 執行後常駐在通知區域 —— 時鐘左邊,Windows 11 預設把新圖示收起來,要先點 ⌃ 展開。圖示是藍色圓角方塊裡一個白色的「中」。
  3. 右鍵圖示 → 勾選 開機時自動啟動

裝好就會運作,不需要設定。

兩個功能

跨程式維持輸入模式(預設開啟) 在 A 視窗用中文輸入,切到 B 視窗時中文模式會被還原;你在 B 按 Shift 改成英數,切到 C 視窗還原的就是英數。全域目標跟著你最近一次的手動切換走。不想要的話可以在右鍵選單關掉。

程式綁定輸入語言 把特定程式固定在某個輸入語言,例如終端機綁英文、Word 綁中文。切到該程式時自動切換。

逐步教學

怎麼看目前狀態

把滑鼠停在托盤圖示上,不要點它。停留不會改變前景視窗;點下去會把前景交給工作列,你想查的那個程式就不再是前景了。

提示文字四行:當前程式綁定語言實際語言上次切換嘗試。左鍵雙擊會顯示更完整的狀態視窗。

三件常被誤解的事

一般情況不要以管理員身分執行 —— 但有反作弊的遊戲需要。 提權不會讓受保護的 process 路徑變得可讀,卻會讓 HKCU\Run 的開機自動啟動失效、每次登入彈 UAC,而且非提權的安裝檔無法自動關閉提權的程式。唯一的例外是本身以提權執行的程式(多數有反作弊的遊戲):UIPI 不讓較低等級的程式讀取它們的視窗資訊,連視窗類別都讀不到,那時就必須提權 —— 詳見 Helldivers 2

「當前程式」顯示 class:... 不是故障。 有反作弊的程式不讓任何人讀它的執行檔路徑,工具會改為顯示它唯一能確定的身分 —— 視窗類別,而那正是規則要填的東西。

綁定的是語言,不是特定輸入法。 中文/英文/日文可以分別綁定;但同一語言裝了多個輸入法(注音與倉頡都是 zh-TW)時無法細分,會用第一個已安裝的。

已知限制

  • 寫入都是 best-effort 並會讀回驗證。IME 仍在啟動中時可能丟棄變更,重試四次(約 930 ms)後就接受目標視窗的狀態
  • UIPI 阻止修改更高完整性等級程式的輸入法狀態,例如以管理員身分開啟的終端機
  • 介面依 Windows 顯示語言自動選繁體中文或英文;沒有簡體版本,安裝程式精靈仍是英文
  • 深色模式只作用於標題列,控制項仍是淺色
  • 不會為了切換輸入語言而注入或附加到其他程式

English

Windows utility that keeps the last input mode you chose when you switch windows, and can pin individual applications to a fixed input language.

This wiki is task-oriented. For what the program is, see the README; for design trade-offs and rejected approaches, docs/design.md.

Getting started — install ...-setup.exe from Releases (per-user, no administrator rights) or unzip the portable build. It lives in the notification area; Windows 11 hides new icons behind the chevron. Right-click → Start with Windows. No configuration needed.

WalkthroughControlling the Chinese IME in Helldivers 2, which covers binding an application whose executable cannot be read.

Reading the status — hover the tray icon rather than clicking it: hovering does not change the foreground window, clicking hands it to the taskbar and you lose the reading you wanted.

Three things that are commonly misread — do not run it as administrator unless the target is itself elevated, as most anti-cheat games are, in which case UIPI blocks reading even their window class; class:... on the app line is expected for anti-cheat protected programs, not a fault; and a binding pins a language, not one IME among several for that language.

Clone this wiki locally