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

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

Войти
Регистрация
Восстановить пароль
 
Kirm
0 / 0 / 0
Регистрация: 26.02.2012
Сообщений: 26
#1

Скриншот игры, не получается - C++

13.07.2012, 00:39. Просмотров 727. Ответов 0
Метки нет (Все метки)

Здравствуйте, помогите сделать средствами C++ скриншот игры, а именно мне нужен скрин от Diablo 3, но думаю это не играет роли, скрин любой современной игры думаю делается одинаково.

Стандартный вариант через winapi как следовало ожидать не работает. Также пробовал через directx, рабочий стол принтит прекрасно, но если сделать принт во время игры (функция принта вызывается на горячую кнопку) то делается скрин голого рабочего стола. Помогите, в чем дело? Вот код, который пробовал:

C
1
2
3
4
5
    IDirect3DSurface9* pSurface;
    g_pDirect3DDevice->CreateOffscreenPlainSurface(1280, 1024, D3DFMT_A8R8G8B8, D3DPOOL_SCRATCH, &pSurface, NULL);
    g_pDirect3DDevice->GetFrontBufferData(0, pSurface);
    D3DXSaveSurfaceToFile("C://d3/Desktop.bmp", D3DXIFF_BMP, pSurface, NULL, NULL);
    pSurface->Release();
Еще пробовал несколько иную вариацию, но результат тот же

C
1
2
3
4
5
6
7
8
9
10
    LPDIRECT3DSURFACE9 FrontBuff;
    D3DSURFACE_DESC SurfaceDesc;
    D3DDISPLAYMODE DisplayMode;
    D3DLOCKED_RECT Rect;
 
    g_pDirect3DDevice->GetDisplayMode(D3DADAPTER_DEFAULT, &DisplayMode);
 
    g_pDirect3DDevice->CreateOffscreenPlainSurface(DisplayMode.Width, DisplayMode.Height, D3DFMT_A8R8G8B8, D3DPOOL_SYSTEMMEM, &FrontBuff, NULL);
    g_pDirect3DDevice->GetFrontBufferData(D3DADAPTER_DEFAULT, FrontBuff);
    D3DXSaveSurfaceToFile( "C://d3/screenshot.jpg", D3DXIFF_JPG, FrontBuff, NULL, NULL);
Помогите пожалуйста, как быть?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.07.2012, 00:39     Скриншот игры, не получается
Посмотрите здесь:

Скриншот - C++
с помощью какой библиотеке можно сделать скриншот экрана? я так предполагаю нужно в сторону winapi ? но куда именно?

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

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

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

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

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

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

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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