Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2005.12.18;
Скачать: [xml.tar.bz2];

Вниз

Скриншот в файл на чистом API?   Найти похожие ветки 

 
Jetus ©   (2005-10-14 22:41) [0]

Привет всем!
Вопрос такой: как на чистом API сохранить содержимое экрана (скриншот) в графический файл?


 
Eraser ©   (2005-10-14 22:51) [1]


> Jetus ©   (14.10.05 22:41)

На MSDN пример есть, см. ф-ю BitBlt.


 
Kerk ©   (2005-10-15 01:53) [2]

Программа делает скриншот экрана в формате Jpg.
Писалась на "скорую руку" ..

http://kladovka.net.ru/index.cgi?pid=list&rid=81


 
Jetus ©   (2005-10-15 09:06) [3]

2 Kerk: API там даже и не пахнет
2 Eraser: а можешь помочь немного? Минимальный примерчик?


 
Eraser ©   (2005-10-15 11:50) [4]


> Jetus ©   (15.10.05 09:06) [3]

// Create a normal DC and a memory DC for the entire screen. The
// normal DC provides a "snapshot" of the screen contents. The
// memory DC keeps a copy of this "snapshot" in the associated
// bitmap.

hdcScreen = CreateDC("DISPLAY", NULL, NULL, NULL);
hdcCompatible = CreateCompatibleDC(hdcScreen);

// Create a compatible bitmap for hdcScreen.

hbmScreen = CreateCompatibleBitmap(hdcScreen,
                    GetDeviceCaps(hdcScreen, HORZRES),
                    GetDeviceCaps(hdcScreen, VERTRES));

if (hbmScreen == 0)
   errhandler("hbmScreen", hwnd);

// Select the bitmaps into the compatible DC.

if (!SelectObject(hdcCompatible, hbmScreen))
   errhandler("Compatible Bitmap Selection", hwnd);

       // Hide the application window.

       ShowWindow(hwnd, SW_HIDE);

        //Copy color data for the entire display into a
        //bitmap that is selected into a compatible DC.

       if (!BitBlt(hdcCompatible,
              0,0,
              bmp.bmWidth, bmp.bmHeight,
              hdcScreen,
              0,0,
              SRCCOPY))

       errhandler("Screen to Compat Blt Failed", hwnd);

       // Redraw the application window.

       ShowWindow(hwnd, SW_SHOW);


 
alpet ©   (2005-10-15 15:20) [5]

HINT: Чтобы слоеные окна (layered, вобщем полупрозрачные) захватывались в скриншот к последнему параметру добавляют CAPTUREBLT: BitBlt (...., SRCCOPY or CAPTUREBLT).


 
Eraser ©   (2005-10-15 19:37) [6]


> alpet ©   (15.10.05 15:20) [5]

Насчёт CAPTUREBLT не знал, хоть они и описан в MSDN... наверное внимание не обратил.
Одно время интересовал ворос перехвата хинтов в win2k/XP.
Спасибо!



Страницы: 1 вся ветка

Форум: "WinAPI";
Текущий архив: 2005.12.18;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.015 c
1-1131899674
Toxa_ua
2005-11-13 19:34
2005.12.18
Как в компонент ListBox вставить в фон картинку jpeg?


3-1130748382
Sanich
2005-10-31 11:46
2005.12.18
Проблема спередачей параметров в функцию.


14-1133011647
rosermark
2005-11-26 16:27
2005.12.18
отдам стопку дисков с софтом всем желающим.


14-1132920637
Patient
2005-11-25 15:10
2005.12.18
Насморк - это хорошо или плохо?


2-1133434190
JTAG
2005-12-01 13:49
2005.12.18
Коллеги подскажите как создать форму





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский