Havenevak 0 Denunciar post Postado Novembro 3, 2014 Estou com um projeto que compartilha janelas tipo o sistema de compartilhamento de janela do skypeso que estou tento problemas com algumas janelas expecificas como google chrome opera etccomecei com base no exemplo de captura de janela da print abaixo o mesmo captura qualquer tipo de janela abertaso acontece este problema com o google chrome e o operaHospedei a soucer do exemple que usei se alguem quiser da uma olhada segue o linkhttps://www.sendspace.com/file/lr4i9wFunção utilizada pra tirar a print function zPrintWindow(hHWND: HWND; Bmp: TBitmap): Boolean; var r: TRect; begin result := False; GetWindowRect(hHWND, r) ; bmp.Width := r.Right - r.Left; bmp.Height := r.Bottom - r.Top; result := PrintWindow(hHWND, Bmp.Canvas.Handle, 0) ; end; Ja usei o Winspector pra pega o nome das class do chrome pra testa tirar a printCheguei a este codigo: function zPrintWindow(hHWND: HWND; Bmp: TBitmap): Boolean; var r: TRect; H1, H2: THandle; begin H1 := FindWindow('Chrome_WidgetWin_1', nil); H2 := FindWindowEx(H1,0,'Chrome_RenderWidgetHostHWND',nil); result := False; GetWindowRect(hHWND, r) ; bmp.Width := r.Right - r.Left; bmp.Height := r.Bottom - r.Top; result := PrintWindow(H2 , Bmp.Canvas.Handle, 0) ; end; E não tive sucesso.ja faz semanas que estou tentando resolver isso tentei tirar printpor coordenadas da tela pra pega so a janela porem se tiver uma janela na frenteela sai na print tambem nao e isso que eu quero funciona com todas janelas do windows menosesses navegadores se alguem poder me ajuda ficarei muito grato desde ja obrigado. Compartilhar este post Link para o post Compartilhar em outros sites
LazaroBinda 3 Denunciar post Postado Novembro 13, 2014 Tente usar a função BitBlt. Ex: BitBlt(bmp.Canvas.Handle, 0, 0, bmp.Width, bmp.Height, GetWindowDC(H2), 0, 0, SRCCOPY); Compartilhar este post Link para o post Compartilhar em outros sites