![]() |
|
#1
|
||||
|
||||
![]() Добрый день. Стыдно, что обращаюсь, но до не могу понять, в чем загвоздка.
Суть в следующем: необходимо сделать снимок окна под курсором. Зарегал глобарьную горячую клавишу. По событию на неё получаю Хендл окна под курсором и делаю с него снимок. Код:
procedure TfMain.WMHotKey(var Msg: TWMHotKey); var lpPoint: TPoint; DestDC: HDC; r: TRect; b: TBitmap; begin if Msg.HotKey = id_Search then begin GetCursorPos(lpPoint); DestWND := WindowFromPoint(lpPoint); GetWindowRect(DestWnd, r); b := TBitmap.Create; b.Width := r.Right - r.Left; b.Height := r.Bottom - r.Top; DestDC := GetWindowDC(DestWND); try BitBlt(b.Canvas.Handle, 0, 0, r.Right - r.Left, r.Bottom - r.Top, DestDC, 0, 0, SRCCOPY); b.SaveToFile('c:\1.bmp'); b.Free; finally ReleaseDC(DestWND, DestDC); end; end; end; Грамотно поставленный вопрос содержит не менее 50% ответа. Грамотно поставленная речь вызывает уважение, а у некоторых даже зависть. |