Write to screen directly

Hi; is there any way to put graphics on the screen directly? What I'm basically trying to do is code an 'overlay' on the screen - sort of like a HUD. Where events will pass directly through to underlying windows, but I will be able to put graphics anywhere on the screen, even on the taskbar on Windows. I'm assuming that there's no way to write directly to video memory, or even to the final buffer before it is sent to video memory (is there?)

But how would I create a fullscreen, transparent window that you can draw anything on, passes all events through, and uses as little RAM/CPU usage as possible?

EDIT: Using the WinAPI, of course. I would preferably not have to use other libraries, such as SFML, OpenGL, SDL, etc. - and I would preferably use as low-level objects as possible, by writing text, primitives, and pixels)

Thanks,

phynix
Last edited on
Enumerate all monitors with EnumDisplayMonitors() and decide the ones that will have this HUD. The HUD itself would merely be a window with the WS_EX_TRANSPARENT and WS_EX_LAYERED extended styles with an opacity value of zero as set by a call to SetLayeredWindowAttributes().

Read more @ http://msdn.microsoft.com/en-us/library/ms997507.aspx . Old but i guess it works.
Topic archived. No new replies allowed.