Documentation · Where it works

Does Lang Switcher work in programs run as administrator?

Yes. The program is installed in C:\Program Files, and the installer creates its own certificate on your computer, for code signing only: it signs the program with it and destroys the key right away, and uninstalling the program removes the certificate too. That’s why Windows lets it work in windows of programs run as administrator. It can’t catch keystrokes on the UAC prompt, the Ctrl+Alt+Del screen or the sign-in screen: Windows doesn’t allow that.

Why it works

You’ll need administrator rights once, to install: the program goes into C:\Program Files\Lang_Switcher, and the installer creates a certificate on your computer so that it can also work in windows of programs run as administrator (the uiAccess manifest). The program itself runs without administrator rights.

uiAccess is part of Windows itself: On-Screen Keyboard, Magnifier and Narrator use it too. It lets a program act in windows at a higher level, but it doesn’t give it administrator rights. Windows grants it only if the program file is signed with a signature this computer trusts and sits in C:\Program Files.

That’s also why starting with Windows needs no UAC prompt: the “Start when I sign in” box doesn’t ask you for anything.

Where it doesn’t work

It can’t catch keystrokes on the UAC prompt, the Ctrl+Alt+Del screen or the sign-in screen: Windows doesn’t allow that. No program gets in there except Windows itself.

The same goes for some games: they read the keyboard directly, bypassing Windows, and don’t accept replaced text. Add such games to the exclusions.

The fallback version

If you run the installer with the /NOLOCALCERT switch, it installs the fallback version: the same code without uiAccess. It works everywhere except in windows of programs run as administrator, where the hotkey does nothing.

The installer also falls back to this version by itself if it can’t install the full one on your computer. In that case, it tells you so in a window at the end of the installation: “Lang Switcher was installed, but it will not work in windows of programs run as administrator…” If you saw that window, write to me: tray menu → “Write to the author…”.

Questions and problemson GitHub Issues ↗ or by email: send.me@panda-pishet-kod.dev