Специальный скриншот рабочего стола программно
Я извиняюсь за то, что спрашиваю об очевидном. Но я все равно хочу спросить, потому что, возможно, есть скрытый способ сделать это. Конечно все программно.
Могу ли я сделать снимок рабочего стола без окон на нем?
- просто фон (изображение) и иконки?
- просто фон (изображение) и без значков?
- просто фон без обоев (без значков)
Если бы это было только для меня, я мог бы скрыть или свернуть все окна, но это не только для меня, поэтому я хотел бы найти способ, не будучи недружелюбным пользователем. WinApi
является ключевым словом, но остается вопрос, возможно ли это на самом деле.
2 ответа
Я не профессионал в WinApi, но моя идея была бы примерно такой:
Предполагая, что вы уже знаете, как сделать "обычный" снимок экрана с вашим кодом (я не знаю), вы можете попытаться получить все существующие дескрипторы окон и скрыть все окна, сделать снимок экрана и снова отобразить его после этого.
Это, по крайней мере, сделало бы возможным использование значков.
Просто поищите в Google что-то вроде "winapi, повторяющийся через дескрипторы окон" и "winapi hide handle".
Я точно знаю, что есть некоторая функция для сокрытия окна, для которого вы получили дескриптор, и я думаю, что есть способ перебрать существующие дескрипторы.
Возможно, вам придется импортировать эти функции из DLL.