My C++/Win32 API approach:
The "not clickable" part: just throw away any messages your application receives prior to whatever key combination you're looking for has been pressed. The trickier part is if you want a message aimed at your window to pass through and go to the window behind yours - you would first obtain the HWND
of the window behind, and then use the SendMessage
function to forward all unwanted messages to that window.
The "stays at the top" part is even easier. Use the extended window style WS_EX_TOPMOST
in your call to CreateWindowEx
and it'll stay at the top no matter what.
Here's a good Win32 API tutorial if I made your brain explode.