Skip to content

Home English

Mango Yen edited this page Aug 9, 2026 · 27 revisions

ImeModePersistence

繁體中文 · English

Windows utility for controlling how input methods behave across programs: it carries the input mode you last chose (native or alphanumeric) to the next window, and can pin a program to a fixed input language — including programs whose executable cannot be read, such as anti-cheat protected fullscreen games.

Install

Download ...-setup.exe from Releases, or the ...-x64.zip portable build. Setup asks whether to install for all users (elevated — recommended, see below) or for me only, and offers Start automatically at logon. It then runs in the notification area at the bottom right; Windows 11 hides new icons behind the chevron next to the clock.

It works as soon as it is installed; no configuration needed. The files are unsigned, so Windows warns on first run — choose More info → Run anyway.

What it does

Keep mode across windows (on by default) — type Chinese in one window, switch to another, and Chinese comes back. Press Shift to go alphanumeric and that is what the next window gets. It follows your most recent deliberate change. Untick it in the tray menu if you do not want it.

App language bindings — pin an application to a language: a terminal always English, Word always Chinese. Right-click → App language bindings..., then Browse for the program, or type just its file name to match it wherever it is installed, or press Use last app.

Walkthrough

Seeing what it is doing

Hover the tray icon rather than clicking it — clicking makes the program you wanted to check lose focus, so you see the wrong thing. Four lines appear: the current program, the language bound to it, the language actually in use, and whether the last switch worked. The bound and actual languages matching means it is working. Double-click for a fuller status window.

Common questions

The current program shows something starting with class: — normal, not a fault. Some programs, mostly anti-cheat games, do not let others read their file location, so the utility identifies them by window class instead. That class:... string is what a binding rule needs.

Install for all users or for me only? For all users, which elevates. Windows does not let a lower-privileged program read a higher-privileged one's windows, and most anti-cheat games run as administrator — without elevation they cannot be seen at all. Elevated autostart is a scheduled task, so there is no UAC prompt at each logon. For me only works fine if you only care about ordinary programs; Restart as administrator in the tray menu changes your mind later.

A binding pins a language, not one specific IME — Chinese, English and Japanese can each be bound, but if one language has several IMEs installed the first one is used.

Some programs change it straight back — the utility retries a few times and then leaves it alone rather than fighting the program.

Could anti-cheat flag it? It does not modify the game, read its memory, or interfere with it in any way; switching goes through Windows' own input settings. Where that does not work it gives up quietly instead of forcing anything.

Clone this wiki locally