OMG, yes it does. The window has to be active for GetAsyncKeyState to recognize the hotkey. If you don't believe me look at this thing that I made. It uses GetAsyncKeyState and everyone was complaining that nothing happens when they press the hotkey.