问题
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.
来源:https://stackoverflow.com/questions/3474805/take-screenshot-of-desktop-when-windows-is-locked-winl