Любые Win32 API для получения скриншотов?

Я пишу приложение, которое должно автоматически делать снимки экрана (так же, как нажатие кнопки PrintScreen). Так пожалуйста, предложите мне, как это сделать. Сырого 24-битного изображения BMP было бы достаточно.

обратите внимание: мое приложение находится в C, поэтому любые API win32, которые можно вызвать из моего кода, - это то, что я ищу.

(иногда назад я получил пример кода из codeproject, который использовался для получения снимков экрана, но пользователь указателя мыши мигает, когда снимок экрана взятый. Поскольку несколько снимков сделаны, это выглядит раздражающим для пользователя, поэтому я не хочу, чтобы указатель мыши мигал!)

2 ответов



GetDC(NULL) + BitBlt()

чтобы захватить полупрозрачные / Альфа / слоистые окна, вы должны передать CAPTUREBLT флаг BitBlt, Если вы это сделаете, курсор мигает, читать эта статья technet чтобы выяснить, почему.

на NT6+ вы можете использовать API увеличения делать то, что вы хотите.