Actualisation d'un dossier

Signaler
Messages postés
141
Date d'inscription
mardi 18 mars 2003
Statut
Membre
Dernière intervention
3 octobre 2010
-
Messages postés
141
Date d'inscription
mardi 18 mars 2003
Statut
Membre
Dernière intervention
3 octobre 2010
-
Bonsoir

Je cherche une méthode pour ouvrir un dossier et en actualiser le contenu

Pour ouvrir le dossier, pas de problème


Dim newProc As Diagnostics.Process
newProc = Diagnostics.Process.Start("explorer.exe")

Par contre le problème se pose pour actualiser ce dossier

j'ai essayé plusieurs choses

newProc.Refresh()
ou
SendKeys.Send("{F5}")

Mais rien n'y fait, je n'arrive pas à actualiser

Avez-vous une solution à ce problème

Merci par avance.

PhilouVB

5 réponses

Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
41
salut,

un redrawwindow ou un postmessage sur wm_paint devrait suffire, à essayer
++

<hr size="2" width="100%" />
Messages postés
141
Date d'inscription
mardi 18 mars 2003
Statut
Membre
Dernière intervention
3 octobre 2010

Pourrais-tu m'en dire un peu plus.
J'ai regardé sur MSDN, mais je n'ai rien trouvé qui puisse m'aider.

par avance merci
Messages postés
141
Date d'inscription
mardi 18 mars 2003
Statut
Membre
Dernière intervention
3 octobre 2010

j'ai trouvé la méthode suivante :

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long

Private Sub RefreshDesktop()
Dim ProgMan As Long, Desktop As Long
ProgMan = FindWindow("Progman", "Program Manager")
Desktop = FindWindowEx(ProgMan, 0, "SHELLDLL_DefView", vbNullString)
PostMessage(Desktop, &H111, &H7103, 0)
End Sub

Mais qui hélas n'actualise pas mes dossiers.

Y a t il un problème dans cette instruction qui empeche l'actualisation ?
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
41
"progman" ??? c'était sous win3.51 non?....
peut-être conservé pour compatibilité mais bon

newProc ne te renvoie pas de HANDLE?
sur lequel faire un redraw, comme indiqué au dessus
(tu connais le snippet sur lequel te baser pour la déclaration de l'api)

++
Messages postés
141
Date d'inscription
mardi 18 mars 2003
Statut
Membre
Dernière intervention
3 octobre 2010

Si j'utilise

Dim newProc As Diagnostics.Process
newProc = Diagnostics.Process.Start("explorer.exe")

J'obtiens un handle.

Cela peut-il etre utile ?