IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

explication de code: lancement executable


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite Avatar de issoram
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2009
    Messages
    665
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2009
    Messages : 665
    Par défaut explication de code: lancement executable
    Bonjour,

    Quelqu'un saurait-il m’expliquer en détail le code ci dessous (tout ce qu'il y a après la commande Shell).
    Je me sers de cette fonction dans VBA Excel pour lancer des exécutables, mais n'étant pas expert en API, j'ai du mal à tout comprendre.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    Private Declare Function OpenProcess Lib "kernel32.dll" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
    Private Declare Function WaitForSingleObject Lib "kernel32" (ByVal hHandle As Long, ByVal dwMilliseconds As Long) As Long
     
    Function Lance_Exe(ByVal Executable As String, Optional ByVal Parametres As String = "") As Boolean
     
        Const SYNCHRONIZE = &H100000
        Const WAIT_TIMEOUT = &H102&
        Const TIMEOUT = 100
     
        Dim RetVal, Handle, PIDexe As Long, retour As Boolean
     
        retour = False
        PIDexe = Shell(Executable & " " & Parametres, vbNormalFocus)
        If PIDexe > 0 Then
            Handle = OpenProcess(SYNCHRONIZE, True, PIDexe)
            Do
                RetVal = WaitForSingleObject(Handle, TIMEOUT)
                If RetVal <> WAIT_TIMEOUT Then Exit Do
                DoEvents
            Loop
            CloseHandle (Handle)
            retour = True
        End If
        Lance_Exe = retour
     
    End Function
    J'ai déjà posté ce message dans le forum VBA Excel il y a quelques temps, mais sans succès. Je me tourne donc vers vous.

    Merci d'avance

  2. #2
    Membre émérite Avatar de issoram
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2009
    Messages
    665
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2009
    Messages : 665

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Explication de code
    Par claralavraie dans le forum Linux
    Réponses: 1
    Dernier message: 20/03/2006, 09h58
  2. Shell - Explication de code
    Par claralavraie dans le forum Linux
    Réponses: 13
    Dernier message: 13/01/2006, 16h03
  3. Explication de code - RE
    Par deedoo dans le forum Général Python
    Réponses: 23
    Dernier message: 29/07/2005, 14h00
  4. Explication de code simple
    Par Clad3 dans le forum OpenGL
    Réponses: 3
    Dernier message: 20/03/2005, 11h31
  5. problème lancement executable avec winexec()
    Par semenzato dans le forum MFC
    Réponses: 5
    Dernier message: 19/01/2004, 11h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo