nHoffmann
Messages postés8Date d'inscriptionsamedi 19 mars 2005StatutMembreDernière intervention13 décembre 2017
-
6 mai 2009 à 14:44
nHoffmann
Messages postés8Date d'inscriptionsamedi 19 mars 2005StatutMembreDernière intervention13 décembre 2017
-
7 mai 2009 à 11:00
Bonjour à tous,
Mon problème est le suivant :
Sub Capture(Picture1 As PictureBox, Nom As String, hwndFenetre As Long)
Dim RECT As RECT
Call SetForegroundWindow(hwndFenetre)
Call GetWindowRect(hwndFenetre, RECT)
hdc = GetDC(hwndFenetre)
Call BitBlt(Picture1.hdc, 0, 0, RECT.Right - RECT.Left, RECT.Bottom - RECT.Top, hdc, -8, -28, vbSrcCopy)
Picture1.Refresh
End Sub
Ce code marche bien mais je suis aussi obligé de mettre systématiquement la fenetre a capturer au premier plan via l'instruction
Call SetForegroundWindow(hwndFenetre)
Si je ne n'utilise pas l'instruction SetForegroundWindow et que la fenetre à capturer est en partie masquée, la capture réalisée comprend la fenetre de premier plan.
Qui peut m'aider à m'affranchir de cette contrainte ?
nHoffmann
Messages postés8Date d'inscriptionsamedi 19 mars 2005StatutMembreDernière intervention13 décembre 2017 7 mai 2009 à 11:00
Merci pour ta réponse Renfield.
J'avais fait une extraction de code ( d'ou les -8 et -28) et je n'avais pas reporté le ReleaseDC
Le probleme ne venais pas de là.
C'est juste que GETDC capture l'a portion d'ecran.
J'utilise maintenant GetWindowDC et le probleme est desormais résolu.