Introducing “annoyance” aka “Stop fucking with my Windows”
I can really do well with Windows in my everyday work. Being a developer, a lot of shit that gets on my nerves is usually solvable. But there are two little gems that always get me going when they happen.
First of all, I’m one of those guys who sets his taskbar to auto-hide. So when something causes it to un-hide, it will display over quite the large part of my screen (I also dock it to the left side of the left-most screen). And the only reason (in my opinion) to un-hide the taskbar should be through my direct interaction. But Windows thinks a little different about that. There are certain API functions that will cause the taskbar to un-hide. For example FlashWindowEx. And some developers love to use the shit out of that (Yes! I’m talking to you, Skype developer!).
Another gem is when applications manage to steal your input focus. You’re just typing away your super secret password, minding your own business. Then you press enter and it ends up in some stupid IM window cause you were stupid enough not to watch the screen while typing.
So what to do about that?
I attempted to solve these issues on numerous occasions. And to my knowledge, there is no built in way of solving them. Additionally, there is no “easy” way of solving them either!
What you can do however, is load your own little DLL into every process and hook those damned API calls and overwrite their behavior. And that’s where my new project annoyance comes into play.
Sadly, right now it requires you to use some highly questionable feature in Windows to load the DLL into new processes. Using that feature opens a door for potential malware (and they sure love to use that feature to fuck with your system).
This was only the first step though. And when I find the time, I will research a better method to load the DLL. But until then, I’m putting the code out there. Maybe someone else can come up with something.
