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

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Lancement d'exe par VB en synchrone

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Lancement d'exe par VB en synchrone

n°262197
mouff
Posté le 05-12-2002 à 17:55:44  profilanswer
 

alu ;)
 
En VB, pour lancer un .exe je connais la commande Shell et l'api ShellExecute.
Le prob, c que ça lance en asynchrone ( le code vb apres le lancement se fait avant l'execution de l'exe appelé)  :cry:  
 
Vous connaissez une méthode pour avoir du synchrone  :??:  
 
Ci d'av' ;)


---------------
Il suffit de me dire de me taire...
mood
Publicité
Posté le 05-12-2002 à 17:55:44  profilanswer
 

n°262736
mouff
Posté le 06-12-2002 à 09:54:20  profilanswer
 

ca s'appelle un bide  [:dirakocha]


---------------
Il suffit de me dire de me taire...
n°262744
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 06-12-2002 à 10:13:46  profilanswer
 

j'ai jamais testé ShellExecute sous VB, mais je te conseillerai d'exécuter cette fonction dans un thread séparé.


---------------
J'ai un string dans l'array (Paris Hilton)
n°262758
drasche
Posté le 06-12-2002 à 10:26:13  profilanswer
 

ou encore d'utiliser le handle retourné par la fonction pour savoir (via les API) si le process lancé est encore actif.  je connais pas les API nécessaires car je n'ai jamais tenté ça.

n°262888
mouff
Posté le 06-12-2002 à 12:17:06  profilanswer
 

J'ai trouvé  :D  
 
v'al le code
 
    Dim Handle As Long
    Dim Retour As String
    Dim ShellProg As SHELLEXECUTEINFO
     
    Clipboard.Clear
    Clipboard.SetText DocPath
    With ShellProg
        .cbSize = Len(ShellProg)
        .fMask = SEE_MASK_NOCLOSEPROCESS
        'le handle de l'appelant
        .hwnd = Me.hwnd
        'action d'ouverture/execution
        .lpVerb = "open"
        .lpParameters = ""
        .lpFile = App.Path + "\" + "VB.exe"
        .lpDirectory = App.Path + "\"
        'le display
        .nShow = SW_SHOW
    End With
     
    'lancement de l'exe externe
    Handle = ShellExecuteEx(ShellProg)
    If Handle = 0 Then
        'erreur
        Select Case ShellProg.hInstApp
            Case SE_ERR_FNF
                MsgBox "Error", vbCritical, "The file " + App.Path + "\" + "VB.exe was not found."
            Case Else
                MsgBox "Error", vbCritical, "An unexpected error occured."
        End Select
        LockDoc = False
    Else
        'boucle pour attendre que le process finisse
        Do
            DoEvents 'attente d'evenements externe
            Handle = WaitForSingleObject(ShellProg.hProcess, 0)
        Loop While Handle = WAIT_TIMEOUT
         
        Retour = Clipboard.GetText
        MsgBox "eokok", , "fini" + Retour
        LockDoc = True
    End If
 
 :sol:


---------------
Il suffit de me dire de me taire...
n°266056
couitchy
Posté le 09-12-2002 à 22:11:00  profilanswer
 

oui mais ça, ça attend jusqu'à ce que tu aies fermé l'application lancée ?

n°266212
karlkox
Posté le 10-12-2002 à 08:29:58  profilanswer
 

Tu as l'Api CreateProcess sinon :
 
http://www.listensoftware.com/Starting_Threads.htm

n°266248
mouff
Posté le 10-12-2002 à 09:47:41  profilanswer
 

couitchy a écrit :

oui mais ça, ça attend jusqu'à ce que tu aies fermé l'application lancée ?


 
c ce que je voulais  :)  
peut etre que je me suis mal exprimé au debut  :heink:


---------------
Il suffit de me dire de me taire...
n°266331
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 10-12-2002 à 12:34:22  profilanswer
 

:lol:
Depuis le début, je croyais que tu voulais lancer en asynchrone, d'ou ma réponse avec le Thread !!


---------------
J'ai un string dans l'array (Paris Hilton)
n°266349
mareek
Et de 3 \o/
Posté le 10-12-2002 à 13:34:28  profilanswer
 

Harkonnen a écrit :

:lol:
Depuis le début, je croyais que tu voulais lancer en asynchrone, d'ou ma réponse avec le Thread !!

bonjour, je m'appelle harko et je ne sais pas lire les titres des topics [:ddr555]


---------------
"I wonder if the internal negative pressure in self pumping toothpaste tubes is adjusted for different market altitudes." John Carmack

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

  Lancement d'exe par VB en synchrone

 

Sujets relatifs
lancement d'une servlet avec forteerreur lancement de easyphp sous win95(ttes les versions)
Comment faire un cookies qui empecherait le lancement d'une musique?lancement automatique d une fonction
[Oracle]lancement de script auto dans SQL+[PHP] lancement de script tout les jours ...
lancement d'un servlet[VB] Comment lancer une execution en tâche de fond dés le lancement ?
Commande de lancement d'un fichier Prologerreur au lancement de mysql
Plus de sujets relatifs à : Lancement d'exe par VB en synchrone


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