cs_jacques13
Messages postés252Date d'inscriptionmardi 3 juin 2003StatutMembreDernière intervention29 juin 2013
-
8 nov. 2009 à 20:44
cs_jacques13
Messages postés252Date d'inscriptionmardi 3 juin 2003StatutMembreDernière intervention29 juin 2013
-
9 nov. 2009 à 17:45
Bonjour,
J'ai un programme principal qui appelle un module secondaire. Ceci a pour effet d'ouvrir une petite fenêtre.
J'aimerais qu'un évènement quelconque dans le programme principal ferme définitivement l'exécution et donc la fenêtre du programme secondaire.
Je ne sais pas comment m'y prendre.
Merci pour votre aide.
Jacques13
c148270
Messages postés303Date d'inscriptionmercredi 12 janvier 2005StatutMembreDernière intervention 3 octobre 20131 9 nov. 2009 à 09:44
Bonjour
Voilà ce que j'ai utilisé (en vba)
1. Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
2.
3. Private Declare Function TerminateProcess Lib "kernel32" (ByVal hProcess As Long, ByVal uExitCode As Long) As Long
4.
5. Private Declare Function GetWindowThreadProcessId Lib "user32" (ByVal hwnd As Long, lpdwProcessId As Long) As Long
6.
7. Private Declare Function OpenProcess Lib "Kernel32.dll" (ByVal dwDesiredAccessas As Long, ByVal bInheritHandle As Long, ByVal dwProcId As Long) As Long
8.
9.
10. Private Sub KillProgram(ClassName As String, Titre As String)
11.
12. Dim ProcessHandle As Long
13.
14. Dim ProcessId As Long
15.
16. Dim Appli As Long
17.
18. Const PROCESS_TERMINATE = 1
19.
20.
21. Appli = FindWindow(ClassName, Titre)
22.
23. GetWindowThreadProcessId Appli, ProcessId
24.
25. ProcessHandle = OpenProcess(PROCESS_TERMINATE, False, ProcessId)
26.
27. TerminateProcess ProcessHandle, 4
28.
29. End Sub
exemple d'utilisation:
KillProgram vbNullString, "Calculatrice"
mettre vbNullString sur le paramètre dont on ne connait pas l'information