Fermeture de fenêtre

Résolu
cs_jacques13 Messages postés 252 Date d'inscription mardi 3 juin 2003 Statut Membre Dernière intervention 29 juin 2013 - 8 nov. 2009 à 20:44
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

6 réponses

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

Bonne journée
3
jmf0 Messages postés 1566 Date d'inscription mardi 26 décembre 2000 Statut Membre Dernière intervention 5 avril 2013 8
8 nov. 2009 à 21:09
Bonjour,

Qu'est exactement ce "module secondaire" ?
0
cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 16
8 nov. 2009 à 22:33
Salut,

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

Chris...
- Le sens vital n'est pas un sens unique -
0
cs_jacques13 Messages postés 252 Date d'inscription mardi 3 juin 2003 Statut Membre Dernière intervention 29 juin 2013
8 nov. 2009 à 23:29
Le module secondaire est un exécutable lancé par l'instruction Shell.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jmf0 Messages postés 1566 Date d'inscription mardi 26 décembre 2000 Statut Membre Dernière intervention 5 avril 2013 8
9 nov. 2009 à 06:45
Relève son PID au lancement et sers-t-en ensuite pour zigouiller la fenêtre et le processus.
0
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
Excellente solution de c148270
Merci du coup de main.
Merci aussi aux autres intervenants.
Jacques13
0
Rejoignez-nous