Форум: "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.45 MB
Время: 0.013 c