Copier le bureau dans un formulaire

Soyez le premier à donner votre avis sur cette source.

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

B0mbJacK
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)
Renfield
Messages postés
17283
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
21 juillet 2019
56 -
Fuite :

GetDC doit etre balancé par un ReleaseDC
Renfield
Messages postés
17283
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
21 juillet 2019
56 -
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


++

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.