cs_PHILOUVB
Messages postés141Date d'inscriptionmardi 18 mars 2003StatutMembreDernière intervention 3 octobre 2010
-
28 juin 2009 à 15:26
cs_PHILOUVB
Messages postés141Date d'inscriptionmardi 18 mars 2003StatutMembreDernière intervention 3 octobre 2010
-
28 juin 2009 à 20:22
Bonjour
Je cherche à savoir comment actualiser le bureau.
j'ai essayé avec Keyboard.Send(F5,true), mais en fait cela actualise mon programme et non l'environnement windows
Mayzz
Messages postés2813Date d'inscriptionmardi 15 avril 2003StatutMembreDernière intervention 2 juin 202028 28 juin 2009 à 16:29
Arf, en fait, je viens de découvrir que ma traduction en.Net est bonne, le soucis c'est que l'API elle même ne fonctionne pas sous Vista x64 apparemment...
Quand au code plus haut il fait planté le menu démarrer.
Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer. <
Private Const RDW_INVALIDATE As Integer = &H1
<System.Runtime.InteropServices.DllImport("user32.dll", SetLastError:=True)> _
Private Shared Function GetDesktopWindow() As IntPtr
End Function
<System.Runtime.InteropServices.DllImport("user32.dll", SetLastError:=True)> _
Private Shared Function LockWindowUpdate(ByVal hwndLock As IntPtr) As Integer
End Function
<System.Runtime.InteropServices.DllImport("user32.dll", SetLastError:=True)> _
Private Shared Function RedrawWindow(ByVal hwnd As IntPtr, ByVal lprcUpdate As Integer, ByVal hrgnUpdate As Integer, ByVal fuRedraw As Integer) As Integer
End Function
Public Sub RefreshDesktop()
Dim hDesk As IntPtr = GetDesktopWindow()
LockWindowUpdate(hDesk)
RedrawWindow(hDesk, 0, 0, RDW_INVALIDATE)
LockWindowUpdate(False)
End Sub
PS : comme quoi les API, c'est pratique quand même