I want to take a screenshot of desktop while Windows is locked (with Win+L). Standard methods make a black screen, with code of pixel:
COLORREF color = GetPixel(hdc, x, y);
equal -1. Neither a user mode program nor a service could capture a useful image. Any ideas?
GetPixel
and BitBlt
won't work when the desktop isn't physically displayed on the monitor.
You may have some luck capturing individual windows with PrintWindow
. However, not all applications respond to PrintWindow
calls the same way, so you may see glitches and/or blackness. You'll also need to capture each window individually.