Fermeture de fenêtre [Résolu]

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

Messages postés
303
Date d'inscription
mercredi 12 janvier 2005
Statut
Membre
Dernière intervention
3 octobre 2013

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
Messages postés
1566
Date d'inscription
mardi 26 décembre 2000
Statut
Membre
Dernière intervention
5 avril 2013
3
Bonjour,

Qu'est exactement ce "module secondaire" ?
Messages postés
2641
Date d'inscription
mercredi 2 juin 2004
Statut
Membre
Dernière intervention
8 janvier 2014
14
Salut,

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

Chris...
- Le sens vital n'est pas un sens unique -
Messages postés
252
Date d'inscription
mardi 3 juin 2003
Statut
Membre
Dernière intervention
29 juin 2013

Le module secondaire est un exécutable lancé par l'instruction Shell.
Messages postés
1566
Date d'inscription
mardi 26 décembre 2000
Statut
Membre
Dernière intervention
5 avril 2013
3
Relève son PID au lancement et sers-t-en ensuite pour zigouiller la fenêtre et le processus.
Messages postés
252
Date d'inscription
mardi 3 juin 2003
Statut
Membre
Dernière intervention
29 juin 2013

Excellente solution de c148270
Merci du coup de main.
Merci aussi aux autres intervenants.
Jacques13