[Excel] ouverture et fermeture d'une application
Bonjour à tous,
Ce topic ressemble fort à l'autre mais je préfère en faire 2 pour la clareté du paysage.
1) En scrutant la FAQ Système de Visual Basic,
Je n'arrive pas à bien comprendre la différence de ce lien entre son titre et la phrase en italique à la fin du sujet:
"Comment fermer un programme ouvert avec la fonction Shell ?"
http://vb.developpez.com/faq/?page=Systeme#close_exe
et
Citation:
Avec ce code source vous ne pourrez donc pas, par exemple, fermer une fenêtre de l'explorateur Windows ouverte par Shell() ...
J'ouvre mon application avec la fonction Shell:
Code:
1 2
| Dim Lancement
Lancement = Shell("C:\Program Files\Application\Application.exe", 3) |
2)
Et jusque là, je la fermais avec:
Déclarations:
Code:
1 2 3 4 5 6 7 8 9
| 'déclarations à mettre dans un module séparé
Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" _
(ByVal HWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Public Const WM_CLOSE = &H10
Public Const WM_DESTROY = &H2
Public Const WM_NCDESTROY = &H82 |
Code:
Code:
1 2 3 4 5
| Dim HWnd As Long
HWnd = FindWindow(vbNullString, "Application")
If HWnd > 0 Then
SendMessage HWnd, WM_NCDESTROY, 0, 0
End If |
1) Pouvez-vous m'apporter votre lumière sur cette différence?
2) Pouvez-vous m'éclarer sur la meilleure méthode à utiliser ?
Celle d'origine (WM_NCDESTROY), ce serait gentil:mouarf:
Merci