Форум программистов, компьютерный форум CyberForum.ru

Скриншот экрана - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 26, средняя оценка - 4.62
Ksan
26 / 26 / 0
Регистрация: 02.11.2010
Сообщений: 370
22.05.2012, 12:32     Скриншот экрана #1
Мне нужно сделать скриншот экрана (того, что видит юзер ежесекундно). Перерыл уже кучу форумов, но не нашел подходящего + понятного. Кто нибудь может мне написать функцию, в которую передается имя файла (*.bmp) в который нужно сохранить скрин и что бы функция сделала скрин и сохранила? Желательно с комментами
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Demsol
43 / 43 / 9
Регистрация: 16.11.2011
Сообщений: 125
22.05.2012, 12:56     Скриншот экрана #2
а разве API функции такой нет?
Ksan
26 / 26 / 0
Регистрация: 02.11.2010
Сообщений: 370
22.05.2012, 12:57  [ТС]     Скриншот экрана #3
Demsol, не знаю. я в апи не силен, поэтому и прошу
budanov.pavel
 Аватар для budanov.pavel
3 / 3 / 0
Регистрация: 22.05.2012
Сообщений: 56
22.05.2012, 13:02     Скриншот экрана #4
Если у вас установлена windows 7, то можно в меню пуск набрать "ножницы" (под кнопкой "все программы"), запустить их и просто выделить нужную область (можно и весь экран). Ну а с меню "сохранить как..." думаю вы знакомы.
Ksan
26 / 26 / 0
Регистрация: 02.11.2010
Сообщений: 370
22.05.2012, 13:08  [ТС]     Скриншот экрана #5
budanov.pavel, логично предположить, что раз я пишу на с++ форуме, то нужна реализация на с++ а не ручная
Avazart
 Аватар для Avazart
6901 / 5141 / 252
Регистрация: 10.12.2010
Сообщений: 22,604
Записей в блоге: 17
22.05.2012, 15:05     Скриншот экрана #6
C++
1
2
3
4
5
6
7
8
9
{
HDC hdc;
HWND hwnd;// хендл окна которое надо скринить, для раб стола = NULL
 
//hdc= GetDC(hwnd);
hdc= GetWindowDC(hwnd);
 
ReleaseDC(hwnd,hdc);// освобождение устройства ( освобождает выделенную память )
}
Что делать hdc зависить от среды разработки и того что конкретно вам надо сделать.
Ksan
26 / 26 / 0
Регистрация: 02.11.2010
Сообщений: 370
22.05.2012, 20:07  [ТС]     Скриншот экрана #7
Avazart, так, это я понял. А как из hdc достать картинку?
Avazart
 Аватар для Avazart
6901 / 5141 / 252
Регистрация: 10.12.2010
Сообщений: 22,604
Записей в блоге: 17
22.05.2012, 20:11     Скриншот экрана #8
Какая у вас IDE ?
Ksan
26 / 26 / 0
Регистрация: 02.11.2010
Сообщений: 370
22.05.2012, 20:12  [ТС]     Скриншот экрана #9
Avazart, dev-cpp
Avazart
 Аватар для Avazart
6901 / 5141 / 252
Регистрация: 10.12.2010
Сообщений: 22,604
Записей в блоге: 17
22.05.2012, 20:17     Скриншот экрана #10
Ну тогда посмотрите тут
Как сделать скриншот экрана?
http://vsokovikov.narod.ru/New_MSDN_...ptur_image.htm

В любом случае стоило использовать поиск
Ksan
26 / 26 / 0
Регистрация: 02.11.2010
Сообщений: 370
22.05.2012, 20:26  [ТС]     Скриншот экрана #11
Avazart, в первом нужно подключать либы, я же просил без этого. 2 - непонятно, какие типы данных

Добавлено через 37 секунд
Avazart, зы, я до этого был и там и там)

зызы: если не сложно, напиши ф-цию, которая сделает и сохранит скрин
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.05.2012, 20:29     Скриншот экрана
Еще ссылки по теме:

Скриншот в файл + итерации C++
C++ скриншот экрана!
Скриншот C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Avazart
 Аватар для Avazart
6901 / 5141 / 252
Регистрация: 10.12.2010
Сообщений: 22,604
Записей в блоге: 17
22.05.2012, 20:29     Скриншот экрана #12
Какие либы? это WinApi. Если нет ищите средства IDE которые можно использовать...

зызы: если не сложно, напиши ф-цию, которая сделает и сохранит скрин
На Buidler-e запросто, а Dev удалил давно (не понравился он мне)
Yandex
Объявления
22.05.2012, 20:29     Скриншот экрана
Ответ Создать тему
Опции темы

Текущее время: 05:55. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru