Skip to content

Home English

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

ImeModePersistence

繁體中文 · English

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

⚠ In development and unsigned — judge for yourself

This utility is still in development and has no code-signing certificate. Windows Defender may therefore classify it as a virus and delete it outright; the known detection is Behavior:Win32/Persistence.A!ml.

That detection is on the logon task created by Start automatically at logon. Any program offering to start at logon must do the same thing, and an unsigned program doing it is what behaviour monitoring watches for. A false-positive report has been submitted to Microsoft, but nobody can guarantee what an antivirus will decide.

The source, build workflow and release artifacts are all public and built by GitHub Actions from the tagged commit, so you can inspect or reproduce them. On that basis, whether to keep using it is your decision.

If it gets deleted: use the portable zip, or leave Start automatically at logon unticked.

Install

From Releases:

File What it is
...-setup-admin.exe Needs administrator rights. Required for anti-cheat protected games
...-setup-user.exe No administrator rights, but cannot control elevated programs
...-x64.zip Portable; unzip and run

Tick Start automatically at logon during setup. 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.

Two things commonly get in the way:

  • The blue Windows protected your PC screen → More info → Run anyway. The files are unsigned, so this is a reputation warning rather than a virus detection.
  • Antivirus deleting the installer → unsigned installers are frequently caught by heuristics. Use the portable zip, which is functionally identical.

Why you would want it

Windows keeps IME state per thread. Move to another window and the conversion mode reverts to the IME's default — for a Chinese keyboard, that means Chinese. So you press Shift for alphanumeric, switch window, and you are typing Chinese again.

Settings → Time & language → Typing → Advanced keyboard settings → Let me use a different input method for each app window does not fix this. That setting governs which input method is active, not whether that method is in native or alphanumeric mode — turn it off and switching windows still reverts to Chinese.

No Windows setting covers the conversion mode, which is why this utility exists.

One case is further out of reach still — a fullscreen game reading raw input takes the keyboard directly and does not participate in IME state management at all. Helldivers 2 is one, and it is why this utility was written.

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 a program to a language: a terminal always English, Word always Chinese. Right-click → App language bindings..., then Browse for the program, type just its file name to match it wherever it is installed, press Use last app, or Use window class for a program whose file cannot be read.

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.

A fifth line, Normal privileges - elevated programs are invisible, means the utility is not running as administrator. Double-click for a fuller status window, including which autostart mechanism is configured.

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.

Should I run it as administrator? Only to control programs that themselves run as administrator, as most anti-cheat games do — Windows does not let a lower-privileged program read a higher-privileged one's windows, not even the window class. Install ...-setup-admin.exe with autostart ticked and it starts elevated at logon with no UAC prompt; Restart as administrator in the tray menu elevates on demand. For ordinary programs only, ...-setup-user.exe is enough.

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, inject anything, or synthesise keystrokes. Switching is carried out by Windows' own input settings, and for an anti-cheat protected program no message is sent to it at all. The full list is on the Helldivers 2 page.

Also

The interface follows Windows' display language, Traditional Chinese or English. The installer is English only. Dark mode applies to the title bar only.

Clone this wiki locally