Accueil > Forum > > > > Fermer un programme externe ?
Fermer un programme externe ?
samedi 11 mars 2006 à 15:20:35 |
Fermer un programme externe ?

kalantho
|
Bonjour :) Voilà, étant encore dans le développement de mon utilitaire, j'ai un petit problème pour fermer un programme externe. En fait en cliquant sur un bouton de mon projet, j'ai une application externe qui se lance, et je souhaiterais qu'en cas de second clic, l'application en question se ferme et se relance. J'ai bien trouvé diverses solutions pour tuer les processus et fermer des programmes mais ça ne correspondait jamais avec mon cas, j'ai essayé d'intégrer des ligne et de les réadapter à mon projet mais malheureusement à chaque fois y avait un problème. :( Pourriez vous me venir en aide s'il vous plaît? :) Merci d'avance ^^
|
|
samedi 11 mars 2006 à 17:16:38 |
Re : Fermer un programme externe ?

mictif
|
il faut passer par le handle et l'api sendmessage ...avec tout ca tu devrais trouver ...
|
|
samedi 11 mars 2006 à 18:36:27 |
Re : Fermer un programme externe ?

kalantho
|
Désolé mais ça fait seulement une semaine que j'ai commencé à apprendre le VB, et je dois bien avouer que je suis un peu perdu sur ce coup là lol Pourrais tu m'expliquer de manière un peu plus précise la démarche à suivre s'il te plaît? :)
|
|
samedi 11 mars 2006 à 19:37:17 |
Re : Fermer un programme externe ?

PCPT
|
salut,
comment peux-tu authentifier l'appli en question? elle a un caption fixe (genre "Document Sans Titre") ?
|
|
samedi 11 mars 2006 à 20:23:27 |
Re : Fermer un programme externe ?

kalantho
|
Oui tout à fait elle a un caption fixe :) En fait c'est TeamSpeak 2 pour être plus précis.
|
|
lundi 13 mars 2006 à 02:33:10 |
Re : Fermer un programme externe ?

PCPT
|
Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal
hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any)
As Long
Private Const WM_CLOSE = &H10
Private Const HTCAPTION = 2
|
|
lundi 13 mars 2006 à 15:29:20 |
Re : Fermer un programme externe ?

kalantho
|
Merci beaucoup PCPT pour ce code!!! Tu m'ais vraiment d'un très grand secours :) Donc en fait je fais les déclarations ça y a pas de soucis, mais ensuite je dois placer dans mon command1 (par exemple) les lignes : FindWindowA = TeamSPeak 2 SendMessageA = kill TeamSpeak 2 ?
Enfin je vais essayer et pi ça marche pas je me permettrais peut être de venir t'ennuyer de nouveau :) Merci encore en tout cas et bonne journée!
|
|
lundi 13 mars 2006 à 15:37:12 |
Re : Fermer un programme externe ?

kalantho
|
Ah bah non ça marche pas...j'ai encore beaucoup de mal avec les Déclarations apparement moi. :(
|
|
lundi 13 mars 2006 à 16:12:47 |
Re : Fermer un programme externe ?

PCPT
|
Réponse acceptée !
comme presque toute fonction, tu dois l'appeler avec un paramètre, pas lui attribuer une valeur.
si ton caption est vraiment "TeamSPeak 2", alors remplace-le dans la constante ci-dessous.
sinon voici un exemple. il faut ouvrir notepad avant
Option Explicit
'
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long
'
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" _
(ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
'
Private Const WM_CLOSE As Long = &H10
Private Const HTCAPTION As Long = 2&
'
Private Const MON_TITRE As String = "Sans titre - Bloc-notes"
'
'
Private Sub Command1_Click()
Dim lHwnd As Long
lHwnd = FindWindow(vbNullString, MON_TITRE)
If lHwnd = 0 Then
MsgBox "titre non-trouvé!!!"
Else
Call SendMessage(lHwnd, WM_CLOSE, HTCAPTION, ByVal 0&)
End If
End Sub

Coloration
syntaxique automatique [AFCK]
PCPT [AFCK]
|
|
lundi 13 mars 2006 à 16:57:00 |
Re : Fermer un programme externe ?

kalantho
|
Alors je dis merci MONSIEUR PCPT ^^ Cela fonctionne à merveille :-O Je suis vraiment impressionné,déjà par le fait que le code fonctionne merveille, et deuxièmement car tu m'as présenté ça d'une manière vraiment très propre et très complète! Je n'avais pas du tout réussi à trouver un code tel que celui ci (aussi "simple" et nickel) sur le site :) Merci beaucoup!
Si je veux l'adapter à deux programmes par exemple, donc deux boutons différents, j'ai juste à faire :
Private Const MON_TITRE1 As String = "Sans titre - Bloc-notes" Private Const MON_TITRE2 As String = "MSN Messenger"
et dans les command bouton :
Private Sub Command1_Click() Dim lHwnd As Long lHwnd = FindWindow(vbNullString, MON_TITRE1) 'etc... Private Sub Command2_Click() Dim lHwnd As Long lHwnd = FindWindow(vbNullString, MON_TITRE2) 'etc...
N'est ce pas? :)
|
|
Cette discussion est classée dans : problème, programme, projet, fermer, externe
Répondre à ce message
Sujets en rapport avec ce message
fermer un programme externe à vb6 [ par fredo ]
bonsoir,je debute sous vb6. comment fermer un programme externe à vb6 (cad non lance par vb6) dans un programme vb6 ?merci
Comment fermer Correctement sont programme ? [ par ExploZe ]
Bonjour,Voila alors mon problème est que j'ai fait un programme qui utilise 20 - 25timer ! je sais c'est bcp mais y'en as besoin il sont pas tous acti
Problème d'appel à un module externe [ par jacques13 ]
Bonjour à tous,Ceci est une question que j'ai posée il y a quelques mois mais pour laquelle je n'ai pas reçu de réponse satisfaisante.Soit un programm
problème de package [ par ouat19 ]
bonsoir les amis j'ai fini le developpement de mon projet et quand je fais mon package et que je lance l'exécutable de mon projet l'installation se de
problème de systray [ par marcod59 ]
Bonjour,J'ai un programme systray qui fonctionne bien sur 2 programmes. J'ai commencé une autre application, et j'ai un problème avec ce même systray.
Programme qui genere un executable [ par PORTE_BLINDEE ]
Voila jai besoin de compiler un projet et sortir un exec a partir d'un autre projet.Jai pour linstant un projet qui utilise des ressources (fichiers b
Fermer la connexion ou laisser ouvert ? [ par Akita95 ]
Bonjour à tous,Je développe actuellement un programme utilisant une connexion ADO.Ma question est assez simple : Vaut-il mieux ouvrir et fermer une co
Problème de déploiement [ par gibea00 ]
Bonjour!J'ai un programme qui a été développé en VB5 et que j'ai ouvert dans Microsoft studio 6 et recompilé en VB6. Je n'ai pas changé le type de co
Problème crystal report [ par max12 ]
Bonjour, une petite question VB que je poste pour un amis qui n'arrive pas a accèder a VBFrance a partir de son Internet (et la j'ai pas le courage de
Le code sur réduire/agrandir/fermer [ par Billybobbonnet ]
Bonjour à tous,J'ai terminé un programme et je m'aperçois que lorsque je le ferme en cours de route avec la croix en haut à droite (celle de windows s
Livres en rapport
|
Derniers Blogs
PRéSENTATION DES API REST DE WINDOWS AZURE : LISTER LES COMPTES DE STORAGEPRéSENTATION DES API REST DE WINDOWS AZURE : LISTER LES COMPTES DE STORAGE par richardc
http://www.c2idotnet.com/articles/presentation-des-api-rest-de-windows-azure-lister-les-comptes-de-storage
Désolé pour "toto", mais c2i existait avant blogs.developpeur.org et c'est mon site "officiel" ;-) ...
Cliquez pour lire la suite de l'article par richardc [HTML5] SLIDES ET DéMOS : AUTOUR DU W3C , NOUVEAUX STANDARDS ET WEB MOBILE (LILLE)[HTML5] SLIDES ET DéMOS : AUTOUR DU W3C , NOUVEAUX STANDARDS ET WEB MOBILE (LILLE) par Gio
Très bonne après-midi passée lors cette conférence avec le W3C, organisée par L' Inria sur les nouveaux standards, ce Mardi 14 Février, on sent vraiment que çà bosse au W3C, et l'avenir est très très prometteur pour le HTML5, notamment ...
Cliquez pour lire la suite de l'article par Gio GESTION D'EXCEPTION AVEC LES TASKSGESTION D'EXCEPTION AVEC LES TASKS par richardc
Nous avons vu dans un précédent article comment utiliser Task pour effectuer des opérations dans un autre thread.
Malheureusement, comme tout le monde n'est pas parfait, il se peut que cette exécution se passe mal et qu'une exception se produise.
La...
Cliquez pour lire la suite de l'article par richardc DéMARRONS AVEC LES TASKSDéMARRONS AVEC LES TASKS par richardc
Que vous le vouliez ou non, le développement multi-tâche est maintenant une obligation pour toute nouvelle application. Il est donc vital d'en comprendre les mécanismes et de s'y mettre le plus tôt possible.
En attendant le .NET Framework 4.5 avec le...
Cliquez pour lire la suite de l'article par richardc
Forum
RE : FONCTION EXCELRE : FONCTION EXCEL par bigfish_le vrai
Cliquez pour lire la suite par bigfish_le vrai RE : FONCTION EXCELRE : FONCTION EXCEL par bigfish_le vrai
Cliquez pour lire la suite par bigfish_le vrai
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|