Copier le bureau dans un formulaire

Soyez le premier à donner votre avis sur cette source.

Vue 5 809 fois - Téléchargée 427 fois

Description

Comment puis-je copier le Bureau dans mon Formulaire ?

Mettez ce code dans un Module :

Source / Exemple :


Declare Function BitBlt Lib "gdi32" (ByVal hDestDC As Integer, ByVal x As Integer, ByVal y As Integer, ByVal nWidth As Integer, ByVal nHeight As Integer, ByVal hSrcDC As Integer, ByVal xSrc As Integer, ByVal ySrc As Integer, ByVal dwRop As Long) As Integer

Declare Function GetDesktopWindow Lib "user32" () As Long

Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long

Public Const SRCCOPY = &HCC0020
Public Const SRCAND = &H8800C6
Public Const SRCINVERT = &H660046

' Créez un Formulaire (Form1) et configurez-le comme ceci :

' AutoRedraw => True 
' BorderStyle => 0 - None 
' WindowState => 2 - Maximized

' Puis mettez ce code dans votre Formulaire dans le Form_Load par exemple :

Private Sub Form_Load()

    Dim BureauhWnd As Long
    Dim BureauDC As Long

    BureauhWnd& = GetDesktopWindow()
    BureauDC& = GetDC(BureauhWnd&)
    BitBlt Form1.hDC, 0&, 0&, Screen.Width, Screen.Height, BureauDC&, 0&, 0&, SRCCOPY

End Sub

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 71
8 mars 2007 à 22:00
déclaration d'API pas ok, et Screen.Width utilisée avec BitBlt (twips :S)


allez :

Private Declare Function BitBlt Lib "gdi32.dll" (ByVal hDestDC 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 dwRop As Long) As Long
Private Declare Function GetDesktopWindow Lib "user32" () As Long

Private Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function ReleaseDC Lib "user32.dll" (ByVal hwnd As Long, ByVal hdc As Long) As Long


Private Sub Form_Load()
Dim BureauhWnd As Long
Dim BureauDC As Long

Me.AutoRedraw = True

BureauhWnd = GetDesktopWindow()
BureauDC = GetDC(BureauhWnd)
BitBlt Form1.hdc, 0&, 0&, Screen.Width \ Screen.TwipsPerPixelX, Screen.Height \ Screen.TwipsPerPixelY, BureauDC, 0&, 0&, vbSrcCopy
ReleaseDC BureauhWnd, BureauDC
End Sub


++
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 71
8 mars 2007 à 21:37
Fuite :

GetDC doit etre balancé par un ReleaseDC
B0mbJacK Messages postés 141 Date d'inscription lundi 23 février 2004 Statut Membre Dernière intervention 25 octobre 2006 1
22 oct. 2006 à 05:30
salut Nix,
tout d'abord merci pour ta source, j'arrive un peu trop tard
7 ans apres lol : )
j'aurais une petite question concernant le bureau
est-ce que c'est possible de mettre le bureau dans une form?

bonne programmation ( en esperant que tu trouveras le temps de me répondre)

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.