Fermeture application externe au programme créé

Le grand Jisay Messages postés 100 Date d'inscription mardi 8 mai 2007 Statut Membre Dernière intervention 18 février 2011 - 2 juin 2007 à 18:58
Nbone_6442 Messages postés 5 Date d'inscription dimanche 26 mai 2019 Statut Membre Dernière intervention 28 mai 2019 - 28 mai 2019 à 21:42
Bonjour à tous,

J'ai créé il y a peu un petit programme qui lorsque une forme se charge, lance un autre programme. L'autre programme se lance correctement et il s'affiche sur le bureau. Jusque la aucun problème. Je voudrai maintenant que se programme se ferme et qu'il ne s'affiche plus sur le bureau, est ce possible ? Si oui comment.

Je lance mon programme grâce à un Shell, il s'ouvre correctement fonctionne correctement, il me faudrait juste que ce programme se ferme et que je ne le vois plus a l'écran...

D'avance merci pour votre aide !

Le Grand Jisay 

17 réponses

ptit_tof57 Messages postés 79 Date d'inscription lundi 28 août 2006 Statut Membre Dernière intervention 4 avril 2009 1
2 juin 2007 à 19:40
Salut voici un lien qui pourrai peut-être t'intéresser : Taskkill

J'utilise vista et ça ne marche pas chez moi, mais qui sait tu auras peut-être plus de chance que moi.

A+
Tof
0
Le grand Jisay Messages postés 100 Date d'inscription mardi 8 mai 2007 Statut Membre Dernière intervention 18 février 2011 2
3 juin 2007 à 11:00
Re, ce doit être bien ca mais je n'arrive pas à le faire fonctionner correctement...
Voici comment je m'y prend :

Shell(

"C:\log", AppWinStyle.NormalFocus)
'pour ouvrir l'application

Après un certain temps je dois fermer cette application, je met le code suivant :

Shell(

"askkill /IM log.exe /F", 0)
' pour fermer l'application

Aucune erreur ne s'affiche mais lorsque j'exécute, j'ai le message suivant qui apparait :

   'Fichier introuvable.'

Pourtant quand je vais dans la fenêtre des processus, le processus s'appèle bien log.exe...

Quelqu'un pourrait-il m'aider svp ???

D'avance merci,
Le Grand Jisay
0
ptit_tof57 Messages postés 79 Date d'inscription lundi 28 août 2006 Statut Membre Dernière intervention 4 avril 2009 1
3 juin 2007 à 14:53
Salut j'ai testé la même commande que toi c'est à dire :

Taskkill /IM mspaint.exe /F est cela marche correctement. Es-tu certain de la synthaxe et que ton programme est lancé ?

Est-ce que ton programme est lancé à partir de visual studio ? Peut-être faut il le compilé et l'exécuter indépendamment.

A+
Tof
0
Le grand Jisay Messages postés 100 Date d'inscription mardi 8 mai 2007 Statut Membre Dernière intervention 18 février 2011 2
3 juin 2007 à 16:23
C'est toujours le même problème...
J'ai publier mon application pour qu'elle ne se lance pas avec Visual Studio mais j'ai toujours le meme problème...Je ne comprends pas...

Peux-tu me passer le code que tu as fait pour ca stp ptit_tof ? Déjà un grand merci pour ton aide !

Le Grand Jisay
0

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

Posez votre question
ptit_tof57 Messages postés 79 Date d'inscription lundi 28 août 2006 Statut Membre Dernière intervention 4 avril 2009 1
3 juin 2007 à 16:43
Salut voici un exemple qui fonctionne chez moi, test le chez toi pour voir si cela fonctionne : (Deux contrôle button à ajouter.)

   Sub FermeAppli()
        Shell("c:\windows\system32\Taskkill /IM notepad.exe /F", AppWinStyle.Hide)
    End Sub

    Sub LanceAppli()
        Shell("c:\windows\notepad.exe", AppWinStyle.NormalFocus)
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        LanceAppli()
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        FermeAppli()
    End Sub

A+
Tof
0
Le grand Jisay Messages postés 100 Date d'inscription mardi 8 mai 2007 Statut Membre Dernière intervention 18 février 2011 2
3 juin 2007 à 17:29
Salut, ca ne fonctionne toujours pas, j'ai toujours le même message et j'ai fait exactement la meme chose que toi...

Petit problème que j'ai constaté en lisant ton code : il y a : c:\windows\system32\Taskkill. De un pourquoi lui donner le nom entier et de deux je ne le trouve pas sur mon PC à l'endroit spécifier :s

A+ Le Grand Jisay
0
ptit_tof57 Messages postés 79 Date d'inscription lundi 28 août 2006 Statut Membre Dernière intervention 4 avril 2009 1
3 juin 2007 à 17:36
Je mets le chemin complet pour éviter d'avoir des soucis avec les variables d'environnement (path).

C'est quoi exactement ton message d'erreur ?
0
ptit_tof57 Messages postés 79 Date d'inscription lundi 28 août 2006 Statut Membre Dernière intervention 4 avril 2009 1
3 juin 2007 à 17:45
Cet outil pourrai peut-être t'interessé : PsTool
0
Le grand Jisay Messages postés 100 Date d'inscription mardi 8 mai 2007 Statut Membre Dernière intervention 18 février 2011 2
3 juin 2007 à 17:47
Salut,

Le message d'erreur que j'ai est le suivant :

L'exeption FileNotFoundException n'a pas été géré

'Fichier Introuvable'

Ok pour le lien, je vais y jeter un coup d'oeuil

Merci, Le Grand Jisay
0
ptit_tof57 Messages postés 79 Date d'inscription lundi 28 août 2006 Statut Membre Dernière intervention 4 avril 2009 1
3 juin 2007 à 17:53
Le premier liens été mort apparement en voici un autre ça à l'air d'être du même genre que taskkill donc je ne sais pas si ça va vraiment t'aidé.
PsTool
0
ptit_tof57 Messages postés 79 Date d'inscription lundi 28 août 2006 Statut Membre Dernière intervention 4 avril 2009 1
3 juin 2007 à 18:01
Es tu sur de disposé de taskkill ? à tu fais une recherche dans ton ordi ?

Car je viens de testé cette instruction :

Shell("c:\windows\system32\Taskkill /IM notepoud.exe /F", AppWinStyle.Hide)

Ici  j'ai renseigné un mauvais nom d'application mais aucune exception.

Tandis que :

Shell("c:\windows\system32\Taskill /IM notepoud.exe /F", AppWinStyle.Hide)

Taskill avec un seul K m'as affiché la même exception que toi.

Donc j'en deduis que soit : c'est une erreur de synthaxe soit, tu ne disposes pas de Taskkill sur ton ordi.

Qu'en penses tu ?
0
Le grand Jisay Messages postés 100 Date d'inscription mardi 8 mai 2007 Statut Membre Dernière intervention 18 février 2011 2
3 juin 2007 à 19:45
Salut... Tu as bien vu, je n'est effectivement pas Taskkill sur mon ordi...

Je vais essayer avec Process.kill(), je verrai comment ca fonctionnera...

Un grand merci pour ton aide et je met sur le forum l'avancement de mes recherches...

A+, Le Grand Jisay
0
OneHacker Messages postés 1447 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 23 septembre 2007 2
3 juin 2007 à 22:06
A quoi bon utiliser le Shell, cadate de VB6 et on est en VB.Net autant utiliser process.kill() !

Redman
0
Le grand Jisay Messages postés 100 Date d'inscription mardi 8 mai 2007 Statut Membre Dernière intervention 18 février 2011 2
4 juin 2007 à 13:30
J'ai déjà essayer avec process.kill() mais ca ne fonctionnait pas correctement... C'est peut-être a cause de moi qui ne sait pas trop comment l'utiliser mais bon je cherche encore ^^

A+
Le Grand Jisay
0
OneHacker Messages postés 1447 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 23 septembre 2007 2
4 juin 2007 à 17:39
Bah faut choisir le bon processeur.

Redman
0
zen69 Messages postés 584 Date d'inscription jeudi 28 décembre 2006 Statut Membre Dernière intervention 29 avril 2010 1
11 févr. 2008 à 21:49
Bonjour tlm,

J'essaye d'utiliser taskkill pour mon programme d'update.

En gros le programme copie un executable d'un repertoire partagé vers un repertoire local. Mais si le programme est ouvert et qu'on roulle l'app de mise a jour. La copie echoue puisque l'executable est ouvert et donc en lecture seule. Alors, je me suis dit que le taskkill pourrait resoudre mon probleme.

Voici un petit schema qui represente ce que j'essaye de faire
Run -> updater.exe
    updater.exe kills -> myApp.exe
    updater.exe copies -> myApp.exe
    updater.exe runs -> myApp.exe (updated version)
    updater.exe closes

Mais le problem est (je crois) que taskkill peut prendre quelque seconde à s'exécuter. Kill myApp.exe apres que j'ai que upadter run la nouvelle version.

Donc je crois qu'une api pourrait me permettre de passer à l'action suivante SEULEMENT APRES avoir tuer le processus myApp.exe

Quelqu'un sait comment faire?

<hr size="2" width="100%" />  zen69 aka Ortho Le Profett
  [site web]
0
Nbone_6442 Messages postés 5 Date d'inscription dimanche 26 mai 2019 Statut Membre Dernière intervention 28 mai 2019
28 mai 2019 à 21:42
Bonjour j'ai moi meme eu se probleme et voila la commande :


Dim l() As Process
Dim r As Process
l = Process.GetProcessesByName("Nom de l'appli sans le .exe")
For Each r In l
r.Kill()
Next
0
Rejoignez-nous