Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1400 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [VB] commande shell et kill de processus

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[VB] commande shell et kill de processus

n°558708
nazim2
Posté le 04-11-2003 à 15:24:55  profilanswer
 

Je lance un process shell par la commande :
x = shell(blablabla) ou blabla est la commande shell.
 
je voudrais savoir comment faire pour arréter le processus lancé par cette commande pendant qu'il est en cour d'execution.
 
x représente l'handle du process.
 
Merci


Message édité par nazim2 le 04-11-2003 à 15:26:29
mood
Publicité
Posté le 04-11-2003 à 15:24:55  profilanswer
 

n°561114
ragefan
Posté le 06-11-2003 à 17:37:08  profilanswer
 

up !

n°563330
nazim2
Posté le 10-11-2003 à 17:26:49  profilanswer
 

up !

n°568750
nazim2
Posté le 17-11-2003 à 11:20:15  profilanswer
 

up !

n°568890
ixemul
Nan mais sans blague ! ⚡
Posté le 17-11-2003 à 12:46:56  profilanswer
 

voici un petit bout de code + declaration des api qui pourrait t'aider ;)
 


Option Explicit
 
'Permet de faire une pause dans le code: Sleep 5000 (pause de 5 secondes)
'(pour laisser le temps à un process DOS de s'executer par exemple)
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
'API de gestion de l'heure.
Private Declare Function timeGetTime Lib "winmm.dll" () As Long
'API d'ouverture de Process.
Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
'API de fermeture de Process.
Private Declare Function TerminateProcess Lib "kernel32" (ByVal hProcess As Long, ByVal uExitCode As Long) As Long
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
Private Declare Function GetExitCodeProcess Lib "kernel32" (ByVal hProcess As Long, lpExitCode As Long) As Long
 
Private Const STILL_ACTIVE = &H103
Private Const PROCESS_QUERY_INFORMATION = &H400
 
Public Function ShellAndWaitForTermination( _
        sShell As String, _
        Optional ByVal eWindowStyle As VBA.VbAppWinStyle = vbNormalFocus, _
        Optional ByRef sError As String, _
        Optional ByVal lTimeOut As Long = 3600 _
    ) As Boolean
Dim hProcess As Long
Dim lR As Long
Dim bSuccess As Boolean
Dim Second As Long
     
On Error GoTo ShellAndWaitForTerminationError
     
    hProcess = OpenProcess(PROCESS_QUERY_INFORMATION, False, Shell(sShell, eWindowStyle))
    If (hProcess = 0) Then
        'Impossible de lancer la ligne de commande!
        sError = "Le programme n'a pu être lancé, vérifiez votre ligne de commande."
    Else
        bSuccess = True
        Second = 0
        Do
            'Récupération du statut du process,
            'on vérifie s'il est terminé (lR = 0).
            GetExitCodeProcess hProcess, lR
            'Pause en attendant la fin de notre commande sans
            'géner l'execution des autres process.
            If Second <= lTimeOut Then
                DoEvents: Sleep 1000
                Second = Second + 1
            Else
                'Trop long!
                Call TerminateProcess(hProcess, lR)
                Call CloseHandle(hProcess)
                sError = "Trop long: Le process a été stoppé...."
                lR = 0
                bSuccess = False
            End If
        Loop While lR = STILL_ACTIVE
    End If
    ShellAndWaitForTermination = bSuccess
         
    Exit Function
 
ShellAndWaitForTerminationError:
    sError = Err.Description
    Exit Function
End Function
 


Message édité par ixemul le 17-11-2003 à 12:47:26

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [VB] commande shell et kill de processus

 

Sujets relatifs
Commande make[Python@Blender] Ligne de commande pour executer un script python ?
commande orbd pour lancer un serveur java corbaProgrammation en shell linux sous windows
[ PHP / shell ] Lancer une applicationproblème avec la commande systeme(" ")
commande dos pour supprimer fichier en utilisation[PHP] Passer une commande système unix en php.
Script shell Linux > petit prob avev expr[mysql] Syntaxe ligne de commande pour restaurer une BDD en shell
Plus de sujets relatifs à : [VB] commande shell et kill de processus


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR