Code: |
keybd_event(VK_SNAPSHOT,1,KEYEVENTF_KEYUP,0); OpenClipBoard(Form1.handle); try SetClipBoardData(CF_DIB,Form1.handle); vv:=GetClipBoardData(CF_BITMAP); Image1.Picture.LoadFromClipboardFormat(CF_BITMAP,vv,0); finally CloseClipBoard; EmptyClipBoard; end; |
Автор: Song
Еще один способ получения скриншота окна, на чистом WinApi:
Code: |
function CreateWindwowBitmap(Wnd: HWND): HBITMAP; {©Drkb v.3}
var R: TRect; W, H: Integer; DC, memDC: HDC; bm, oldBM: HBITMAP; begin GetWindowRect(Wnd, R); W := R.Right - R.Left; H := R.Bottom - R.Top; DC := GetWindowDC(Wnd); memDC := CreateCompatibleDC(DC); bm := CreateCompatibleBitmap(DC, W, H); oldBM := SelectObject(memDC, bm); BitBlt(memDC, 0,0, w, h, DC, 0,0, SRCCOPY); SelectObject(memDC, oldBM); DeleteDC(memDC); DeleteObject(oldBM); ReleaseDC(Wnd, DC); Result := bm; end; |
Автор: Krid
Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.
ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!