Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > 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
О спасибо)))
А можно не сохраняя изображение на диск  замастить его  на рабочий стол?

Это абсолютно безобидная  программа шутка,запустить её пока хозяина нет у компьютера и она сохранит скрин рабчоего стола  со всеми его открытыми окнами, и замастит изображения в качестве активного фонового рисунка)) ну хозяин когда придет  и при попытке закрыть окно обнаружит ещё одно,но его уже не закроет))))) а не сохранять рисунок на диск,это для того что бы после перезагрузки всё вернулось на круги своя))

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)