This question is little different from preventing an application from stealing focus, rather how can I find out what the heck is stealing focus?

It goes like this. I'll be typing something in Firefox on Vista (as I am now). Every few minutes something else is stealing focus. It's not because a window is moving to the foreground. The change is somewhat subtle in window in the foreground takes on the attributes of a de-selected window (e.g., menus slightly dimmed), but it's most notable when typing, as the keys I type are no longer sent to that window. It also makes it extremely annoying.

7 Answers
7

Leave it running and return to your app. When the problem occurs alt-tab to Procexp and you may be able to catch what is grabbing all the attention.

Edit: I have literally just found this: Auslogics TaskManager Which would almost certainly help you identify what's going on, with a more intuitive interface and a wealth of more easily accessible information than Procexp.

I have the same problem as the poster. I've tried to Alt-Space to bring up the window menu. This definitly shows that there is a "hidden" window present (0x0 in size) that has focus. Using the move menu option to move it around doesn't reveal what it belongs to. Trying to choose the Close menu option does absolutely nothing. Seems like the program ignores the close window event.

I was thinking about a debugger which would be able to add a menu to the window menu of all windows that would allow it to attach to a debugger during runtime. Anyone know of a program that does this?

Update: After it happening again I actually tried the "Minimize" menu option, and loe and behold, it is the AVG Free 9.0 Web Browser window that appears. But why is it hidden and why does it grab focus approx. every 5-10 minutes?

I had this problem as well, so annoying. I used that Auslogics TaskManager, and found a process on there (forget what it was called) that was some video player for AIM ads. Google unknown processes .exe's until you find it, then uninstall it via the Control Panel.

There was one more thing I saw, and it was this Java automatic running thing, you have to go into: Start button, Control Panel, Java, Advanced Tab, Miscellaneous, and UNCHECK "Java Quick Starter"

I did those two things, and problem so far seems to be completely solved :). Also, make sure you close AIM and any web browsers before you uninstall.

I used the excellent Adminscope Focus Logger for this problem. The culprit for me was some Epson utility which did nothing useful and ran as a scheduled task.

Just read the instructions and leave the focus logger running for a while to detect the program which takes the focus away. The program runs on XP (and, presumably, other version of Windows, such as Windows 7, 8, etc.).

EDIT: and, unlike some of the programs listed in this thread, it's freeware.