Copier le bureau dans un formulaire

Soyez le premier à donner votre avis sur cette source.

Vue 5 634 fois - Téléchargée 423 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

Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
62
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


++
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
62
Fuite :

GetDC doit etre balancé par un ReleaseDC
Messages postés
141
Date d'inscription
lundi 23 février 2004
Statut
Membre
Dernière intervention
25 octobre 2006

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.