API ShellAndWait

casav Messages postés 23 Date d'inscription lundi 17 décembre 2001 Statut Membre Dernière intervention 26 mars 2003 - 7 avril 2002 à 01:01
casav Messages postés 23 Date d'inscription lundi 17 décembre 2001 Statut Membre Dernière intervention 26 mars 2003 - 13 avril 2002 à 01:10
En utilisant l'API Shell and wait pour bloquer vb afin que se deroule l'execution d'un fichier.bat si l'on ne veut pas voir la fenetre de l'execution du bat s'afficher comment fait-on puisque la synthaxe ci-dessous ne fonctionne pas?
ex a.bat
ShellAndWait ("c:\TEMP\a.bat, 0 ") o ou vbhide
on est oblige d'enlever l'argument 0 et l'on voit donc la fenetre la solution???MERCI

4 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
8 avril 2002 à 20:24
Essaye ça :
Je l'ai saisi dans une Sub pour être utilisée partout :

Jack
---------------------------------------------------------
Public Sub LanceEtAttendShell(ByVal cmdLine As String, Style As VbAppWinStyle)

' Cette routine lance la commande donnée dans cmdLine,
' puis attend la fin de son execution avant de rendre la main

Dim retVal As Long, PiD As Long, pHandle As Long

PiD = Shell(cmdLine, Style)
pHandle = OpenProcess(&H100000, True, PiD)
retVal = WaitForSingleObject(pHandle, Infini)

End Sub
0
casav Messages postés 23 Date d'inscription lundi 17 décembre 2001 Statut Membre Dernière intervention 26 mars 2003
12 avril 2002 à 09:18
OK mais je rajoute ces lignes mais je laisse le le code du ShellAndWait ou faut-il le supprimer ou du moins une partie??
Le code que tu me donnes me permettra donc d'avoir la fenetre cachee automatiquement ou faut-il ajouter 0 comme argument ??
Merci!!!
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
12 avril 2002 à 20:28
En fait, j'ai oublié ce détail.
'Style' est en réalité vbStyle.
A pratir ce cette variable, tu choisis la manière d'afficher (ou pas) la fenêtre).
Je n'ai pas les valeurs en tête, mais ça devrait s'afficher tout seul quand tu utiliseras la Sub.

Jack
0
casav Messages postés 23 Date d'inscription lundi 17 décembre 2001 Statut Membre Dernière intervention 26 mars 2003
13 avril 2002 à 01:10
Resalut Jack!

En fait pour vbstyle je me debrouillerais mais je debute en vb donc j'aimerais que tu me donnes tout le code afin que ta sub fonctionne!!
Apparemment il doit manquer une declaration de Openprocess et WaitForSingleObject(proc.hProcess, INFINITE)
J'ai supprime tout le code de ShellAndWait j'attends
le code complet de ta sub!!!
Merci
0
Rejoignez-nous