Free Tools
Utilities from the bench. No accounts, no tracking, no cost.
Test whether text and keystrokes can be injected into any Windows application window. Pick a window, fire a message, see what lands — and immediately understand why your automation script isn't reaching its target.
Pick any open window on your desktop using the built-in window picker (hover and click). Then fire text at it using three different injection methods. The log shows exactly what was sent, how many events were injected, and any errors.
| Method | Mechanism | Best for |
|---|---|---|
| A: SendInput | OS-level, below Win32 queue | Modern apps, .NET, WPF, Electron (partial) |
| B: WM_CHAR | Classic Win32 PostMessage | Native Edit controls, legacy apps |
| C: WM_SETTEXT | Sets field contents directly | Simple control text replacement |
Python 3.9 or newer on Windows 10/11. No pip installs — standard library only.
python winmsg_tester.py
Verify before running — PowerShell:
Get-FileHash winmsg_tester.py -Algorithm SHA256
Published SHA-256:
d118d9fa41ea80aa31f206a453a650023747e9c4adb3916f15c0b1a0500aa80b
Windows User Interface Privilege Isolation (UIPI), introduced in Vista, prevents lower-integrity processes from injecting messages into higher-integrity windows. Electron and Chrome extend this with their own renderer-process sandboxing. If all three methods fail on your target, the window is intentionally protected — that is the correct behavior, not a bug in this tool. See the README for full details.