The development of WinFocusMon is driven largely by users like you, so if you discover a bug, have a feature request, or just want to share feedback, please contact me.
WinFocusMon runs on Windows 2000, XP, Vista, 7 and 8, both 32 and 64 bit. There are no other special requirements.
WinFocusMon is a diagnostic utility used to monitor a specified window and determine why it loses input focus unexpectedly. WinFocusMon can notify the user when the state of the monitored window changes, as well as create a report with greater detail about the event.
WinFocusMon can monitor almost any application window, such as your word processing program, web browser, email client and even full screen games. If you have ever been typing along only to find that some of what you typed is missing, or were playing a game when all of a sudden it minimizes to the desktop or stops accepting input, WinFocusMon may be able to tell you why. What can happen is that another window, even though you never saw it, may have acquired keyboard focus, thus effectively hijacking keyboard and/or mouse input. When this occurs, WinFocusMon will try to provide information about the offending process, allowing you to take it up with the application developer or look for an alternative program.
Run winfocusmon.exe and enter the window title or class name you want to monitor (case sensitive). Press the “Get” button to do this quickly if the window you want to monitor is already running. You can accept the defaults for the rest of the options and then simply click “Run”. As soon as the window you are monitoring loses focus, WinFocusMon will notify you and generate a full report.
INSTALLATION AND UPGRADING
WinFocusMon is a portable application, so there is no installer. Simply unzip the archive and put the contents somewhere where you have write permissions, such as in your Application Data folder or a portable drive.
To upgrade WinFocusMon, simply copy the new files over the old ones. If you have any problems, try deleting the config.ini file and restarting the program.
Window title/class to monitor
Enter all or part of the title as seen in the window Title Bar, or the full class name of the window you want to monitor (case sensitive). The easiest way to get the title or class name of the window you want to monitor is to make sure it’s running, then click the “Get” button to run the wizard. You may only monitor a single window at a time.
Note that window titles can change and WinFocusMon will not keep track of this. For instance, you could open 2 copies of Internet Explorer, each displaying a different web page, and the titles as seen in the title bars can be different. In contrast, the window class is always the same. The drawback with using a class name instead of a window title is that a class can apply to many different windows. Usually this is not an issue however.
Window titles/classes to ignore
This is a comma separated list (no spaces) of window titles and/or class names to ignore. WinFocusMon will ignore several window classes by default, but you can add the classes or titles you know you will be working with so that WinFocusMon doesn’t alert you unnecessarily.
Overwrite the last report
If this is not selected then the new report will be appended to the old one.
When monitored window changes state
You can select to open the log file, notify with a message dialog, both, or none. If none, you will still see a tray balloon message when the monitored window loses focus.
If you enable the option to include window text, than up to 64KB of text for every window that exists at the time will be included in the report. THIS OPTION CAN GREATLY INCREASE THE TIME REQUIRED TO GENERATE A REPORT AND SHOULD ONLY BE ENABLED IF YOU ARE UNABLE TO OBTAIN THE REQUIRED INFORMATION WITHOUT IT.
You can also choose whether you want to append or overwrite the last report.
Once you have adjusted the settings and clicked the “Run” button, WinFocusMon will minimize itself to a system tray icon and wait until the window you want to monitor becomes active, after which it will begin monitoring the window. As soon as the the window is no longer active, WinFocusMon will begin gathering information about what process caused it to lose keyboard focus and notify you of the event.
In an effort to reduce unnecessary alerts, certain window classes are white-listed by default, including the start menu, task bar, Explorer and a few others.
INTERPRETING THE REPORT
Often the information about the offending application that caused the monitored window to lose focus will be in the first few lines of the report and the rest can be ignored. However, this may not always be the case; for example, if only a process ID or window handle appears in the report under the section “MONITORED WINDOW LOST FOCUS DUE TO THE FOLLOWING”, then a bit more effort may be required to find the information you need. In such cases, the easiest way to gather more details is simply to search the rest of the report for the handle or PID that was provided near the beginning.
Complete information about a process may not always be available. For instance the window text and title will often be blank, or the text will not be readable.
Click the “Support” link on the Config UI, or go here.
WinFocusMon is Freeware. A license file was included with the installer and the most recent version is always available at 12bytes.org.