Сделать снимок рабочего стола, когда Windows заблокирована (Win + L) - PullRequest
4 голосов
/ 13 августа 2010

Я хочу сделать скриншот рабочего стола, пока Windows заблокирована (с Win + L). Стандартными методами получается черный экран с кодом пикселя:

COLORREF color = GetPixel(hdc, x, y);

равно -1. Ни программа в пользовательском режиме, ни служба не могут получить полезное изображение. Есть идеи?

1 Ответ

3 голосов
/ 13 августа 2010

GetPixel и BitBlt не будут работать, если рабочий стол физически не отображается на мониторе.

Возможно, вам повезет, снимая отдельные окна с помощью PrintWindow,Однако не все приложения отвечают на вызовы PrintWindow одинаково, поэтому вы можете увидеть глюки и / или черноту.Вам также нужно будет захватить каждое окно отдельно.

...