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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
HardMorg
3 / 26 / 3
Регистрация: 29.08.2010
Сообщений: 204
#1

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

01.07.2013, 17:55. Просмотров 1143. Ответов 4
Метки нет (Все метки)

с помощью какой библиотеке можно сделать скриншот экрана?
я так предполагаю нужно в сторону winapi ? но куда именно?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.07.2013, 17:55     Скриншот
Посмотрите здесь:

Скриншот экрана - C++
Мне нужно сделать скриншот экрана (того, что видит юзер ежесекундно). Перерыл уже кучу форумов, но не нашел подходящего + понятного. Кто...

Скриншот программно. - C++
Добрый вечер. Сделал скриншот программно: void __fastcall TForm1::Button2Click(TObject *Sender) { HDC hdc = GetDC(0); if...

скриншот экрана! - C++
нужно сделать захват экрана. и сохранить его в файл. порывшись в просторах форума, выяснил что для решения данной задачи существует куча...

Скриншот экрана - C++
Всем привет как в visual studio мне сделать скриншот экрана, а потом смотреть цвет пикселей в указанных координатах на фотографии? Или как...

Скриншот, работа с bmp - C++
Возникла необходимость создания скриншота неактивого окна. В результате долгих поисков, по гуглу я наткнулся на следующий рабочий код: ...

Скриншот окна программы - C++
Требуется при нажатии (например, кнопки "s"), чтобы делался скриншот окна программы (командной строки) и сохранялся в определенную...

Клиент-сервер , скриншот - C++
Нужно написать на Си++ программу - клиент-сервер, в которой при нажатии кнопки у клиента, сервер делает у себя скриншот и пересылает его на...

Скриншот в файл + итерации - C++
В чем задача: После некой операции, программа должна сохранять всё, что есть на экране в файл. Много раз. Точнее вбить одну функцию с...

Сделать скриншот рабочего стола - C++
Нужно сделать скриншот рабочево стола, што для етого нужно

Вылетает окошко. (Скриншот прилагается) - C++
Здравствуйте, форумчане. Я написал класс. Только после ввода команды, которая закрывает консоль у меня вылетает вот такое окошко, может кто...

Скриншот раб стола + видео - C++
Как сделать скриншот рабочего стола и чтоб видео на нем было б изображено черным квадратом?

очень нужен скриншот результата выполнения программы - C++
#include "stdafx.h" #include <iostream.h> #include <math.h> using namespace std; double a={{7, 1, 3, 2}, {0, 5, 4, 0}, {0, 1,...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nxtech
77 / 59 / 2
Регистрация: 26.06.2013
Сообщений: 198
01.07.2013, 18:05     Скриншот #2
GDI+ можно курить
Issues
430 / 365 / 37
Регистрация: 06.08.2012
Сообщений: 961
01.07.2013, 18:55     Скриншот #3
Код не мой.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#include <windows.h>
#include <stdio.h>
#include <iostream>
 
#include <gdiplus.h>
 
using namespace std;
 
#pragma comment(lib, "GdiPlus.lib") /* наш многострадальный lib-файл */
using namespace Gdiplus; /* как хочешь, но мне не в кайф постоянно писать Gdiplus:: */
 
 
static const GUID png = 
{ 0x557cf406, 0x1a04, 0x11d3, { 0x9a, 0x73, 0x00, 0x00, 0xf8, 0x1e, 0xf3, 0x2e } }; 
 
 
int main()
{
    GdiplusStartupInput gdiplusStartupInput;
    ULONG_PTR gdiplusToken;
    GdiplusStartup(&gdiplusToken, &gdiplusStartupInput, NULL);
    
    HDC scrdc, memdc; 
    HBITMAP membit;
    // Получаем HDC рабочего стола
    // Параметр HWND для рабочего стола всегда равен нулю.
    scrdc = GetDC(0);
    // Определяем разрешение экрана
    int Height, Width;
    Height = GetSystemMetrics(SM_CYSCREEN);
    Width = GetSystemMetrics(SM_CXSCREEN);
    // Создаем новый DC, идентичный десктоповскому и битмап размером с экран.
    memdc = CreateCompatibleDC(scrdc);
    membit = CreateCompatibleBitmap(scrdc, Width, Height);
    SelectObject(memdc, membit);
    // Улыбаемся... Снято!
    BitBlt(memdc, 0, 0, Width, Height, scrdc, 0, 0, SRCCOPY);
    HBITMAP hBitmap;
    hBitmap =(HBITMAP) SelectObject(memdc, membit);
     Gdiplus::Bitmap bitmap(hBitmap, NULL);
    bitmap.Save(L"c:\\screen.png", &png);
 
    DeleteObject(hBitmap);
 
    //GdiplusShutdown(gdiplusToken);
    return 0;
}
Игорь с++
434 / 457 / 16
Регистрация: 26.01.2011
Сообщений: 2,032
01.07.2013, 19:04     Скриншот #4
смотри архив , там программа делает скрины и экрана и окна и ещё много чего , возьмёш себе нужные функции.
Вложения
Тип файла: rar ScreenToAll.rar (14.5 Кб, 77 просмотров)
Убежденный
Системный программист
Эксперт С++
15247 / 6879 / 1092
Регистрация: 02.05.2013
Сообщений: 11,256
Завершенные тесты: 1
01.07.2013, 20:06     Скриншот #5
HardMorg, посмотрите вот эту тему: Как создать скриншот части экрана?
Yandex
Объявления
01.07.2013, 20:06     Скриншот
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru