Take screenshot of desktop when Windows is locked

2019-01-26 17:44发布

问题:

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?

回答1:

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.