Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C++ Builder > PrintScreen рабочего стола |
Автор: Comm 31.5.2008, 00:28 |
Всем привет,как программно сделать PrintScreen рабочего стола и получить дескриптор на это изображение ? Спасибо заранее.. |
Автор: 586 31.5.2008, 00:35 |
Обсуждалось уже много раз... http://forum.vingrad.ru/index.php?showtopic=202016&view=findpost&p=1456493 |
Автор: RDC 31.5.2008, 00:37 |
Используйте стандартный Windows API: используйте hWnd := GetDesktopWindow для получения дескриптора 'рабочего стола'; используйте hDC := GetDC (hWnd) для получения HDC (дескриптора контекста экрана) ; и не забывайте освобождать (уничтожать дескриптор) hDC после выполнения задачи. Используя TCanvas.Handle в качестве HDC, можно при помощи WinAPI реализовать функции рисования, или, если это возможно, можно присвоить HDC свойству Handle непосредственно при создании TCanvas. Совершенно недавно это обсуждалось, посмотри http://forum.vingrad.ru/forum/topic-214096/kw-%D0%BA%D0%B0%D1%80%D1%82%D0%B8%D0%BD%D0%BA%D0%B0-%D0%B8%D0%B7%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5-%D0%B7%D0%B0%D1%85%D0%B2%D0%B0%D1%82-%D1%81%D0%BA%D1%80%D0%B8%D0%BD%D1%88%D0%BE%D1%82.html |
Автор: Comm 31.5.2008, 00:55 |
О спасибо))) А можно не сохраняя изображение на диск замастить его на рабочий стол? Это абсолютно безобидная программа шутка,запустить её пока хозяина нет у компьютера и она сохранит скрин рабчоего стола со всеми его открытыми окнами, и замастит изображения в качестве активного фонового рисунка)) ну хозяин когда придет и при попытке закрыть окно обнаружит ещё одно,но его уже не закроет))))) а не сохранять рисунок на диск,это для того что бы после перезагрузки всё вернулось на круги своя)) |