Stop programs from stealing focus in Windows 7 [duplicate]
In Windows 7, if I launch a program and immediately make its window inactive (e.g. by minimizing or switching windows), it will pop back up after the program has finished loading completely.
This is undesirable. I would like to let a program load in the background without having it steal focus once it is ready. For example, this happens when I launch Photoshop.
Is there a way to disable this behavior?
Solution 1:
Judging by at least the research I've done, it seems there used to be a registry key in XP that could be modified to accomplish this, but since Windows 7, that registry change has been ineffective (there is a very heated and relevant conversation on the Microsoft forums about this.)
I even found an interesting blog article our very own Jeff Atwood wrote about this in 2007, though his example was in XP.
The Microsoft moderators on the forums seem to suggest that by default in Windows 7, properly written applications shouldn't steal focus (they argue that the registry tweak from XP was built in), but at the end of the day, the community believes they are simply wrong and some applications just do.
Discussions here on Superuser related to XP have ended up, as time has passed, having questions in comments being raised to how solutions could be appled to Windows 7. HarryMC posted a great answer that sheds some light there.
At the end of the day, it would appear that there is simply no way to accomplish this universally across Windows 7, as it seems to do more with the applications themselves. After a little testing, I discovered that some of my applications do call for focus and get it, while some do not.
Alternative Solution
One alternative that I use every day is Always On Top (alternative link). It binds the Ctrl + Space hotkey to make whatever window is in focus always on top.
I use it when working in almost any program that I know I don't want interupted, as it will not allow any window over it. However, this may be more annoying to some people. I just make it a habit to hit the hotkey after I'm done with a particular program, or minimize it.
Alternative to the Alternative (My Opinion)
A shell replacement such as those HarryMC suggested in his answer from above are a viable solution.
Though in my mind, if you're willing to completely replace Aero, or completely replace Explorer, or willing to completely replace the Windows shell to get this functionality (and I don't blame you), you could just as easily replace Windows.
That's what I did the beginning of this year. Learning ubuntu has been interesting, but it was for the better.