Copie d'écran sans barre de titre...

Signaler
Messages postés
117
Date d'inscription
vendredi 12 avril 2002
Statut
Membre
Dernière intervention
13 avril 2007
-
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
-
Bonjour à tous,

j'ai trouvé plein de sources et de posts sur le sujet des capture d'écran, mais rien ne répond à mon problème.
J'ai un form sur lequel je crée plein de textbox et de shapes.
Je cherche à faire une capture de ce formulaire, mais sans la barre de titre, ni les barres de menus et d'outils.

J'arrive bien à capturer uniquement le form (sans la barre windows), mais pour virer la barre de titre etc, je suis obligé de retravailler la capture à la main.

Vous savez pas si c'est possible par hasard ?

Merci d'avance

@peluche et bon dev' à tous
DA

3 réponses

Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
62
Bien sur que c'est possible !!

comment fait tu ta capture, en utilisant BitBlt (ou autre....??)
il te suffit de modifier les coordonnées du rectangle d'orgine du Blit.

si ca te parle pas, envoie ton code ici, je te montrera...

By Renfield

[mailto:thomas_reynald@msn.com thomas_reynald@msn.com]

Aucune touche n'a ete blessee lors de la saisie de ce texte.......... ;)
Messages postés
117
Date d'inscription
vendredi 12 avril 2002
Statut
Membre
Dernière intervention
13 avril 2007

Ah bah je viens juste de trouver une soluce sur le site MS :
http://support.microsoft.com/default.aspx?scid=kb;fr;161299&Product=vbbFra
Mais c'est un poil hard à suivre

Je suis curieux de voir comment tu fais.
Je faisais ma capture avec keybd_event, mais comme ça simule l'appui sur la touche ImprEcr, j'ai toujours la barre de titre.
Comment utilise-t-on BitBlt ?

Merci ;)
DA
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
62
ok, c'est sur que vu comme ca...
je vais t'expliquer ca, dans le principe, si tu souhaite davantage d'infos....

en fait, un blit est un transfert de pixels (pour faire simple)
ca permet de faire tout un tas d'effet supers, mais ce qui nous interesse, est la copie telle quelle de pixels.

ca fais comme une photo d'une zone donnée....

le tout etant de determiner quelle est la zone que tu souhaite, dans ta fenetre (les coordonnées). pour cela (retrouver la taille de la barre de titre), il existe des fonctions....

essaie ce code, pour te faire une idée....

places une pictureBox

Option Explicit

Private Declare Function StretchBlt Lib "gdi32.dll" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal nSrcWidth As Long, ByVal nSrcHeight As Long, ByVal dwRop As Long) As Long
Private Declare Function GetDC Lib "user32.dll" (ByVal hwnd As Long) As Long

Private Sub Picture1_Paint()
    With Picture1
        StretchBlt .hdc, 0, 0, .ScaleWidth \ 15, .ScaleHeight \ 15, GetDC(0), 0, 0, Screen.Width \ 15, Screen.Height \ 15, vbSrcCopy
    End With
End Sub



c'est qu'un exemple, bien entendu, ca fais une capture d'ecran, et la place dans ton pictureBox...... tu peux faire de même avec tou ce que tu veux....

By Renfield

[mailto:thomas_reynald@msn.com thomas_reynald@msn.com]

Aucune touche n'a ete blessee lors de la saisie de ce texte.......... ;)