Fermeture de fenêtre [Résolu]

Messages postés
252
Date d'inscription
mardi 3 juin 2003
Statut
Membre
Dernière intervention
29 juin 2013
- - Dernière réponse : cs_jacques13
Messages postés
252
Date d'inscription
mardi 3 juin 2003
Statut
Membre
Dernière intervention
29 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
Afficher la suite 

6 réponses

Meilleure réponse
Messages postés
303
Date d'inscription
mercredi 12 janvier 2005
Statut
Membre
Dernière intervention
3 octobre 2013
3
Merci
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

Bonne journée

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 131 internautes nous ont dit merci ce mois-ci

Commenter la réponse de c148270
Messages postés
1566
Date d'inscription
mardi 26 décembre 2000
Statut
Membre
Dernière intervention
5 avril 2013
3
0
Merci
Bonjour,

Qu'est exactement ce "module secondaire" ?
Commenter la réponse de jmf0
Messages postés
2641
Date d'inscription
mercredi 2 juin 2004
Statut
Membre
Dernière intervention
8 janvier 2014
9
0
Merci
Salut,

a priori pour fermé un logiciel c'est : application.exit()

Chris...
- Le sens vital n'est pas un sens unique -
Commenter la réponse de cboulas
Messages postés
252
Date d'inscription
mardi 3 juin 2003
Statut
Membre
Dernière intervention
29 juin 2013
0
Merci
Le module secondaire est un exécutable lancé par l'instruction Shell.
Commenter la réponse de cs_jacques13
Messages postés
1566
Date d'inscription
mardi 26 décembre 2000
Statut
Membre
Dernière intervention
5 avril 2013
3
0
Merci
Relève son PID au lancement et sers-t-en ensuite pour zigouiller la fenêtre et le processus.
Commenter la réponse de jmf0
Messages postés
252
Date d'inscription
mardi 3 juin 2003
Statut
Membre
Dernière intervention
29 juin 2013
0
Merci
Excellente solution de c148270
Merci du coup de main.
Merci aussi aux autres intervenants.
Jacques13
Commenter la réponse de cs_jacques13