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

Получение изображения экрана без принтскрина - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Кто может поделиться файлами ogg.dll, vorbis.dll и vorbisfile.dll - 32-х и 64-битными версиями? http://www.cyberforum.ru/cpp/thread1212591.html
Движок перевожу на платформу Win64 и нужно, чтобы разрядность ЕХЕ и DLL совпадали, а в интернете искал 64-битные версии ogg.dll, vorbis.dll и vorbisfile.dll - то нигде нет... Мне только эти библиотеки нужны, остальные я нашел и они работают. Пробовал скачать с сайта xiph.org/download/ libogg 1.3.2 и libvorbis 1.3.4 исходники, но собрать в MS Visual Studio 2010 Professional никак не получается,...
C++ Перевести код из MATLAB в С++ можно ли как-то перевести код матлаба в с/с++ или другой язык программирования? http://www.cyberforum.ru/cpp/thread1211177.html
C++ Dev-C++5.6.3
Здравствуйте, помогите разобраться в проблеме. Давно мечтал заняться программированием и сегодня скачал Dev-C++5.6.3 и начал обучение с видео уроков, написал простейшую программу, но она выдает ошибку. Без понятие в чем проблема. Очень надеюсь на вашу помощь. file:///C:/Users/Валентин/Desktop/Dev.jpg #include <iostram> using namespace std; int main() } cout << "Hello, World!";...
Добавление данных в кэш C++
Здравствуйте. Есть ли какие-то средства (связанные непосредственно с плюсами или нет), позволяющие влиять на добавление данных в кэш. В частности, могу ли я попросить руками процессор закэшить нужные мне данные. Спасибо.
C++ Run-Time Check Failure #2 - Stack around the variable 'A' was corrupted http://www.cyberforum.ru/cpp/thread1208071.html
#include <iostream> #include <iomanip> using namespace std; int main() { setlocale(LC_ALL,"Russian"); const int n=50; int A,i,j; srand((unsigned)time(NULL)); cout<<"A = ";
C++ PathStripToRoot() Вызывает ошибки Строка 36 PathStripToRoot(szRoot); Вызывает ошибки: Ошибка 1 error LNK2019: ссылка на неразрешенный внешний символ __imp__PathStripToRootW@4 в функции "public: wchar_t * __thiscall Info_PC::Get_MainDir(void)" (?Get_MainDir@Info_PC@@QAEPA_WXZ) C:\Users\****\Documents\Visual Studio 2013\Projects\Space_A\Space_A\main.obj Space_A Ошибка 2 error LNK1120: неразрешенных внешних... подробнее

Показать сообщение отдельно
Izual
93 / 118 / 6
Регистрация: 13.11.2012
Сообщений: 1,535
24.06.2014, 22:04     Получение изображения экрана без принтскрина
Esecman, ему без принтскрина же.

Вот то чем я пользуюсь:
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
int ScreenX = 0;
int ScreenY = 0;
BYTE* ScreenData = NULL;
bool lsb = false;
 
int LoadScreenBytes()
{
    ScreenX = GetDeviceCaps(GetDC(0), HORZRES);
    ScreenY = GetDeviceCaps(GetDC(0), VERTRES);
 
    if(lsb == true)
        delete[] ScreenData;
    ScreenData = new BYTE[3*ScreenX*ScreenY];
    lsb = true;
 
    HDC hdc = GetDC(NULL), hdcMem = CreateCompatibleDC (hdc);
    HBITMAP hBitmap = CreateCompatibleBitmap(hdc, ScreenX, ScreenY);
    BITMAPINFOHEADER bmi = {0};
    bmi.biSize = sizeof(BITMAPINFOHEADER);
    bmi.biPlanes = 1;
    bmi.biBitCount = 24;
    bmi.biWidth = ScreenX;
    bmi.biHeight = -ScreenY;
    bmi.biCompression = BI_RGB;
    SelectObject(hdcMem, hBitmap);
    BitBlt(hdcMem, 0, 0, ScreenX, ScreenY, hdc, 0, 0, SRCCOPY);
 
    GetDIBits(hdc, hBitmap, 0, ScreenY, ScreenData, (BITMAPINFO*)&bmi, DIB_RGB_COLORS);
    DeleteObject(hBitmap);
    DeleteDC(hdcMem);
    ReleaseDC(NULL, hdc);
    return 0;
}
int GetColor(int x, int y)
{
    if(lsb == false)
        return -1;
 
    int R=ScreenData[3*((y*ScreenX)+x)+2];
    int G=ScreenData[3*((y*ScreenX)+x)+1];
    int B=ScreenData[3*((y*ScreenX)+x)];
 
    return 0;
}
 
Текущее время: 05:57. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru