Rafraichir explorer.exe à partir de mon programme
VB.NET :
Mon programme modifie des icônes des fichiers de Windows.. Mon programme
s'exécute bien mais la modification ne prend effet(visuellement) que si je
relance Windows...
En tuant les Processus Explorer.exe puis en relançant une nouvelle tâche
explorer.exe, les modifications apparaissent... Mails il me reste à fermer la fenêtre créée par le process Explorer.exe.. En envoyant un ALT+F4 qui normalement ferme la fenêtre je pensais avoir résolu le problème... Non !
Ou est le Hic ? j'ai essayé SendMessage mais je dois mal l'utiliser...
D'avance , merci pour toute aide...
Code:
1 2 3 4 5
| '' --------------------------------------------------- Tuer le processus d'Explorer.exe ---------------------------------------------------------
Dim proc = Process.GetProcessesByName("Explorer") : For i As Integer = 0 To proc.Count - 1 : proc(i).Kill() : Next i
'' --------------------------------------------------- Relancer le processus d'Explorer.exe ----------------------------------------------------
Dim startInfo As New ProcessStartInfo("Explorer.exe") : startInfo.WindowStyle = ProcessWindowStyle.Normal : Process.Start(startInfo)
SendKeys.Send("%({F4})") |
T'as rien Rien compris....
Pol63 lis ça !
Je ne vois pas pourquoi le fait de tuer le processus Explorer.exe est dangereux... Ce n'est qu'un programme qui affiche une arborescence de tes fichiers et rien d'autre..
C'est ce que l'on fait lorsque celui-ci gèle par ALT+CTRL+DEL pour accéder au gestionnaire des tâches... On arrête le process Explorer.exe et on le relance sans problème.... Méthode très connue lorsque vous changez des clefs de la BDR et que ceux-ci ne deviennent effectives qu'après avoir relancé explorer.exe...
Exemple très connu : nettoyer "la personnalisation des icônes de notifications pour Vista ;W7 et W8..