Originally Posted By: argv0
Are you saying that proposed solution is wrong?

I never said it was wrong, i just said it doesn't work. And I did read both links, the following problem just stumped me on that.

Problem somewhat solved, that call to ReleaseDC should have been down by a few lines, *after* the BitBlt call.
The only thing left is now to get the right thing captured, something isnt quite right there yet (but I do get a result now, non-black).

Thanks for now, I'll check back later once this thing is up and running properly (and after some major code cleanup, this thing is fubared with attempts on getting the window right).

Sigh, BitBlt shows the same stuff now, blank for hidden windows.
The only differences are that BitBlt captures the topmost window when the picwin is overlapped, while PrintWindow still does fine. However, PrintWindow captures black while BitBlt captures transparent for hidden picwins. WM_PRINT works for hidden windows, but the client area is black there.
PicWins are not WS_EX_LAYERED according to Spy++, so I'd rather not try the long way rerouting UpdateLayeredWindow.
I'll play around a bit more, the code is basically the same as in my last post (except the ReleaseDC call, which is now moved back to the DeleteObject call that should be DeleteDC)

Last edited by BhaaL; 04/01/10 08:45 PM.