So, I'm working on a basic screensaver framework and I'm having trouble with multiple monitor support. Currently, I just create a window whose client area covers the entire screen and contain the saver within it, and I'd really like to keep that structure. I figure I can have the program detect if the desktop is extended onto other monitors (which I've already got worked out pretty well) and have it create a separate window for each one. But I cannot figure out how to create a window on a "non-primary display" portion of the desktop. Windows treats the desktops on all display screens as a single window, but calling GetWindowRect() or GetClientRect() on the Desktop window gives the dimensions of only the Primary Display, not all of them combined. I can get DCs for each individual monitor, but I can't go backwards from there to a window handle, and pulling RECTs from the display DCs gives me coordinates relative to the display, not the desktop (each display has its own origin at (0,0)).
Basically, does anyone know how I can create a window on or move it to another display screen? Thanks in advance.