And just to confirm, it does in fact work. If you move the RegisterHotKey line to within the thread's run method, the thread's message loop picks up the hotkey press.