COMMANDE INVERS DE SHELL

philguejr Messages postés 8 Date d'inscription jeudi 25 novembre 2010 Statut Membre Dernière intervention 19 janvier 2011 - 18 janv. 2011 à 13:44
philguejr Messages postés 8 Date d'inscription jeudi 25 novembre 2010 Statut Membre Dernière intervention 19 janvier 2011 - 19 janv. 2011 à 09:20
Bonjour à tout le forum,

Malgré plusieurs heures passées sur le net à la recherche d'une commande qui ferait l'inverse de shell, je me retourne vers vous pour vous solliciter.

Depuis Excel (2007) je lance un programme via la macro suivante :

Sub lancementkeyboard()
ChDrive Left(ThisWorkbook.Path, 1)
ChDir ThisWorkbook.Path
Shell ("AG_KB_Emulator.exe")
End Sub

Comment pourrai-je faire pour la fermer SVP ?

D'avance merci pour vous réponses.

6 réponses

cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
18 janv. 2011 à 22:09
Salut
que veux dire l'inverse de shell ??
shell msdn
Runs an executable program and returns a Variant (Double) representing the program's task ID if successful, otherwise it returns zero.


c'est quoi l'inverse ?
0
philguejr Messages postés 8 Date d'inscription jeudi 25 novembre 2010 Statut Membre Dernière intervention 19 janvier 2011
18 janv. 2011 à 22:13
Bonsoir ShayW,

Je me suis servi de shell pour lancer un programme .exe.

Par "inverse", j'entends une commande qui me permette de fermer ce même programme.

Merci.
0
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
19 janv. 2011 à 00:54
Ce n'est pas si simple
inspires toi de ce link

http://articles.techrepublic.com.com/5100-10878_11-1050075.html#
0
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
19 janv. 2011 à 01:44
ça ne marche pas
peut etre mais pas encore au point
Private Sub stopexe(sTitle As String)
 'sTitle doit etre le lpWindowName ce n'est pas  le chemin comme le parametre du shell
     Dim iHwnd As Integer
     Dim ihTask As Integer
     Dim iReturn As Integer
     iHwnd = FindWindow(0&, sTitle)
     iReturn = PostMessage(iHwnd, WM_QUIT, 0, 0&)
     MsgBox "Notepad has been Closed Down"

End Sub
0

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

Posez votre question
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
19 janv. 2011 à 01:47
j'ai oublié il faut ajouter en tete du prog
les API

 Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function PostMessage Lib "User" (ByVal hWnd _
      As Integer, ByVal wMsg As Integer, ByVal wParam As Integer, _
      lParam As Any) As Integer
 Private Const WM_QUIT = &H12

0
philguejr Messages postés 8 Date d'inscription jeudi 25 novembre 2010 Statut Membre Dernière intervention 19 janvier 2011
19 janv. 2011 à 09:20
Merci pour tes recherches je teste ça ce soir.

Je n'aurais pas pu trouver ça tout seul.

Vraiment merci.

Bonne journée.
0
Rejoignez-nous