Background: Within RTS games important buildings and units can often be grouped using a Ctrl+(0-9) combination. This combined with in-game hotkeys makes game 'productivity' (i.e. APM, EPM) extremely effective.
As a developer, I work with a host of applications each with independent hotkeys. While Alt-Tab is an excellent way to do this, beyond 4 or 5 applications it becomes less efficient than simply clicking on the desired application from the start ribbon.
What I Want: I want to be able to dynamically assign hotkeys to programs, and un-bind the hotkey once the program is closed. For example, Windows fires up, I assign a '0' to VS2008 via a CTRL+0 keystroke, which bind VS2008 to '0' for as long as the program is active. If VS2008 is closed, the hotkey frees up. I'm aware of how to set up static hot-keys, but I feel this as limiting.
Question: Would it be better to attempt to implement this from the OS level (i.e. utilizing AutoIT's or built-in Windows 7 functionality) OR programmatically(i.e. vb.Net roll your own)?