VladT » 20 апр 2005, 18:08
Kolinus,
у меня похожая задача, только снять и сохранить скриншот с IE
Все вроде сделал как здесь описано:
hresult = pBrowser->get_HWND(&hwnd);
HDC dcBrowser = GetDC((HWND)hwnd);
HDC dcCompatible = CreateCompatibleDC(dcBrowser);
HBITMAP pBitMap = CreateCompatibleBitmap(dcBrowser, width, height);
if (pBitMap == 0)
{ // error}
if (!SelectObject(dcCompatible, pBitMap))
{//"error in compatible bitmap selection"
}
if (!BitBlt(dcCompatible, 0, 0, width, height, dcBrowser, 0, 0, SRCCOPY))
{//("bitbit failed");
}
BITMAP bm;
GetObject(pBitMap, sizeof(bm), &bm);
в результате получаем в bm правильные размеры экрана,
но байт массив там NULL. Те копирование не произошло.
Что сделал не так?
Спасибо
Kolinus,
у меня похожая задача, только снять и сохранить скриншот с IE
Все вроде сделал как здесь описано:
hresult = pBrowser->get_HWND(&hwnd);
HDC dcBrowser = GetDC((HWND)hwnd);
HDC dcCompatible = CreateCompatibleDC(dcBrowser);
HBITMAP pBitMap = CreateCompatibleBitmap(dcBrowser, width, height);
if (pBitMap == 0)
{ // error}
if (!SelectObject(dcCompatible, pBitMap))
{//"error in compatible bitmap selection"
}
if (!BitBlt(dcCompatible, 0, 0, width, height, dcBrowser, 0, 0, SRCCOPY))
{//("bitbit failed");
}
BITMAP bm;
GetObject(pBitMap, sizeof(bm), &bm);
в результате получаем в bm правильные размеры экрана,
но байт массив там NULL. Те копирование не произошло.
Что сделал не так?
Спасибо