Pause en seconde entre le lancement de prgramme [Résolu]

lechouille 4 Messages postés vendredi 16 mars 2007Date d'inscription 16 mars 2007 Dernière intervention - 16 mars 2007 à 16:35 - Dernière réponse : samy19255 1 Messages postés mercredi 7 février 2007Date d'inscription 17 mars 2007 Dernière intervention
- 17 mars 2007 à 00:17
Bonjour,

Je suis en train de créer un petit programme sous VB6 pour lancer des appli.
jusque là, pas de soucis. un bouton une fonction no problème.
Mais je voudrais rajouter un bouton qui me lance les 3 appli (dont 2 qui s'ouvre en command.com dos c'est une base de donnée) MAIS avec une pause entre. Par exemple:

appli 1 se lance sous dos,
apres 40sec
la seconde appli sous dos se lance dans une fenetre differente
et apres 5sec,
la 3eme appli sous windows se lance.

Merci d'avance a tous
Afficher la suite 

Votre réponse

11 réponses

Meilleure réponse
hvb 961 Messages postés vendredi 25 octobre 2002Date d'inscription 27 janvier 2009 Dernière intervention - 16 mars 2007 à 18:15
3
Merci
arf, ok, j'ai mal lu ton premier message ou tu specifiait que c'était en vb6.


Tu as posté ton message dans la section vb.net/vb2005 !

Qu'importe, voici le même code en vb6, mais il faut declarer deux API avant :

Private Declare Function GetTickCount Lib "kernel32" () As Long
Private Declare Sub Sleep Lib "kernel32" (ByVal ms As Long)

et la procédure :

Private Sub hbwait(ByVal ms As Long)
    Dim endwait As Long
        endwait = GetTickCount + ms
        Do While GetTickCount() < endwait
            Sleep (1)
            DoEvents
        Loop
End Sub

J'ai tout mis en private, si tu declare cela dans un module, remplace Private par Public.

Have fun

Hvb aka Batto
bato.ltd at gmail.com

Merci hvb 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 95 internautes ce mois-ci

Commenter la réponse de hvb
Meilleure réponse
jmfmarques 7668 Messages postés samedi 5 novembre 2005Date d'inscription 22 août 2014 Dernière intervention - 16 mars 2007 à 18:27
3
Merci
Heureux pour toi, Lechouille.

J'espère que tu as compris la nécessité de "poster" là où il convient, pour éviter des pertes de temps....
Essaye d'y faire attention lors de l'ouverture de ta prochaine discussion. Tu y gagneras et les autres aussi.
Merci.

Merci jmfmarques 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 95 internautes ce mois-ci

Commenter la réponse de jmfmarques
hvb 961 Messages postés vendredi 25 octobre 2002Date d'inscription 27 janvier 2009 Dernière intervention - 16 mars 2007 à 16:47
0
Merci
Déclare cette sub dans ton code : 

FriendSub hbwait(ByVal ms_to_wait AsLong)




     Dim endwait AsDouble


   endwait = Environment.TickCount + ms_to_wait


    While Environment.TickCount < endwait


         System.Threading.Thread.Sleep(1)


            Application.DoEvents()


       EndWhile


    EndSub

Puis appel la entre te lancement d'appli comme ceci :

'1ere appli que tu lance
hbwait(40000)
'2eme appli que tu lance
hbwait(5000)
'3eme appli que tu lance

Hvb aka Batto
bato.ltd at gmail.com
Commenter la réponse de hvb
pupucenet 5 Messages postés mardi 28 septembre 2004Date d'inscription 6 janvier 2009 Dernière intervention - 16 mars 2007 à 16:54
0
Merci
bonjour,
voici une solution

Dim duree, start
start = Timer
duree = 10
Text1.BackColor = vbRed
While Timer < (start + duree)
    Text1.Text = Timer
    Text2.Text = (start + duree)
DoEvents
Wend
Text1.BackColor = vbGreen
Commenter la réponse de pupucenet
lechouille 4 Messages postés vendredi 16 mars 2007Date d'inscription 16 mars 2007 Dernière intervention - 16 mars 2007 à 17:08
0
Merci
re,

voici tout mon code car la ca marche po je dois mal me débrouiller sur !

Private Sub command1_Click()
FriendSub hbwait(ByVal ms_to_wait AsLong)
Dim endwait AsDouble
endwait = Environment.TickCount + ms_to_wait
While Environment.TickCount < endwait
System.Threading.Thread.Sleep (1)
Application.DoEvents()
EndWhile
EndSub


MsgBox ("ATTENTION ! ! ! tous les processus vont être lancés !")
Shell ("command.com /k APPLI01")
hbwait (40000)
Shell ("command.com /k APPLI02")
hbwait (40000)
Shell ("E:\APPLI03WIN")


End Sub
Commenter la réponse de lechouille
pupucenet 5 Messages postés mardi 28 septembre 2004Date d'inscription 6 janvier 2009 Dernière intervention - 16 mars 2007 à 17:45
0
Merci
declare et ecrit ta fonction "hbwait" dans un module.bas
et non dans ton boutton...
ensuite dans ton bouttonfait appel a ta fonction

MsgBox ("ATTENTION ! ! ! tous les processus vont être lancés !")
Shell ("command.com /k APPLI01")
hbwait (40000)
Shell ("command.com /k APPLI02")
hbwait (40000)
Shell ("E:\APPLI03WIN")
Commenter la réponse de pupucenet
hvb 961 Messages postés vendredi 25 octobre 2002Date d'inscription 27 janvier 2009 Dernière intervention - 16 mars 2007 à 17:54
0
Merci
merci de m'avoir devancer pupucenet ^^

lechouille : comme l'a dit pupucenet, declare la procédure hors de ta procédure button_click, dans un module ou dans la feuille elle meme. Cependant lorsque j'ai collé mon code certains espaces ont été perdus,
j'espere que tu as detecté cela.
Voici le code correct :
Friend Sub hbwait(ByVal ms_to_wait As Long)
    Dim endwait As Double
    endwait = Environment.TickCount + ms_to_wait
    While Environment.TickCount < endwait
         System.Threading.Thread.Sleep(1)
         Application.DoEvents()
    End While
End Sub

Hvb aka Batto
bato.ltd at gmail.com
Commenter la réponse de hvb
lechouille 4 Messages postés vendredi 16 mars 2007Date d'inscription 16 mars 2007 Dernière intervention - 16 mars 2007 à 18:04
0
Merci
donc je dois faire comme cela :

Friend Sub hbwait(ByVal ms_to_wait As Long)
    Dim endwait As Double
    endwait = Environment.TickCount + ms_to_wait
    While Environment.TickCount < endwait
         System.Threading.Thread.Sleep (1)
         Application.DoEvents()
    End While
End Sub




Private Sub Command1_Click()
MsgBox ("ATTENTION ! ! ! tous les processus vont être lancés !")
Shell ("command.com /k APLLI01")
hbwait (40000)
Shell ("command.com /k APPLI02")
hbwait (40000)
Shell ("E:\APPLI03WIN")
End Sub

mais j'ai une erreur qd je clique sur le bouton pour lancer les appli : une msgbox : erreur de compilation: erreur de syntaxe
la premeir ligne est souligné en jaune Friend Sub hbwait....
et en rouge : Application.DoEvents()
End Wihile
Commenter la réponse de lechouille
jmfmarques 7668 Messages postés samedi 5 novembre 2005Date d'inscription 22 août 2014 Dernière intervention - 16 mars 2007 à 18:11
0
Merci
"Je suis en train de créer un petit programme sous VB6 pour lancer des appli."


et le reste ne me parait pas être du VB6....

S'où l'absolue nécessité de "poster" dans la rubrique adéquate...
Commenter la réponse de jmfmarques
lechouille 4 Messages postés vendredi 16 mars 2007Date d'inscription 16 mars 2007 Dernière intervention - 16 mars 2007 à 18:22
0
Merci
RE

Merci beaucoup cela fonctionne impec :)

;)
Commenter la réponse de lechouille
samy19255 1 Messages postés mercredi 7 février 2007Date d'inscription 17 mars 2007 Dernière intervention - 17 mars 2007 à 00:17
0
Merci
moi je cherche dans quelle site pour flashi mon dem star sat
Commenter la réponse de samy19255

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.