lancer programme
Le
Kic360

bonsoir
je recherche le code pour lancer une suite de 3 programmes avec un timer
entre chaque pour leur laisser le temps de s'ouvrir.
open "c:program filestrucmuch.exe" ne fonctionne pas
une idée?
merci beaucoup
--
***
C'est parce que la vitesse de la lumière est plus rapide que celle du son,
que des gens paraissent brillants avant d'avoir l'air con !
***
je recherche le code pour lancer une suite de 3 programmes avec un timer
entre chaque pour leur laisser le temps de s'ouvrir.
open "c:program filestrucmuch.exe" ne fonctionne pas
une idée?
merci beaucoup
--
***
C'est parce que la vitesse de la lumière est plus rapide que celle du son,
que des gens paraissent brillants avant d'avoir l'air con !
***
Hello,
Oui :-)
Consulter la FAQ du groupe qui indique divers moyen de faire ça,
à adapter à tes besoins:
http://faq.vb.free.fr/index.php?question=7
http://faq.vb.free.fr/index.php?question3
http://faq.vb.free.fr/index.php?question2
Pour faire une pause entre les lacements, tu peux utiliser ceci:
http://faq.vb.free.fr/index.php?question6
Ou bien utiliser un timer. On met alors le nom des exe dans un tableau
et on crée un timer qui se déclenche par exemple toutes les N secondes.
Dans le timer, on maintient une variable statique que l'on incrémentera
à chaque passage. une fois le dernier programme lancé, on disable le timer.
Ca donnerait un truc comme ça:
'
' Mettre sur la form un Timer (Timer1) et un
' bouton de commande (Command1)
Option Explicit
Const NBR_PROGS As Long = 3
Dim Tprogs(NBR_PROGS) As String
Private Sub Form_Load()
Tprogs(1) = "toto.exe"
Tprogs(2) = "titi.exe"
Tprogs(3) = "tutu.exe"
End Sub
Private Sub Command1_Click()
Timer1.Interval = 2000 ' 2 secondes
Timer1.Enabled = True
End Sub
Private Sub Timer1_Timer()
Static n As Integer
n = n + 1
If n > NBR_PROGS Then
MsgBox "tous les programmes ont été lancés"
Timer1.Enabled = False
n = 0 ' Reset
Else
MsgBox "lance le programme : " & Tprogs(n)
' lancer ici le programme
End If
End Sub
Note: l'instruction Open ne fonctionne pas du tout comme tu crois.
Cf. http://msdn.microsoft.com/en-us/library/aa266177(VS.60).aspx
Tu peux consulter l'aide de VB ici:
http://msdn.microsoft.com/en-us/library/aa139596.aspx
D'une façon générale, la FAQ du groupe contient de nombreux
articles et exemples de code: http://faq.vb.free.fr/
Cordialement,
--
Jean-marc Noury (jean_marc_n2)
Microsoft MVP - Visual Basic
FAQ VB: http://faq.vb.free.fr/
mailto: remove '_no_spam_' ;
merci beaucoup et bonsoir
"Jean-marc" 48b862c8$0$2864$
est-ce que je peux faire cela:
Tprogs(1) = "C:Program FilesNaturalPointTrackIR4TrackIR.exe"
car il ne se lance pas
merci
"Jean-marc" 48b862c8$0$2864$
Faut faire ça par exemple :
Sub Form_Load()
Dim x
Dim Tprogs(1) As String
x = Shell("trucmuch.exe", 1)
' ou
Tprogs(1) = "trucmuch.exe"
x = Shell(Tprogs(1), 1)
End Sub
Et ça :
open "c:program filestrucmuch.exe" ne fonctionne pas
Tu veux faire quoi en faisant ainsi, car ça ne va pas le lancer mais lui
ouvrir le ventre ???
Et puis si t'as du mal avec le Timer, tu peux faire autre chose, mais je
vais me faire fusiller, ce n'est pas académique, ceci :
sub ta_procedure()
Dim Tprog As String
dim i as long
dim j as long
dim k as long
Dim x
Tprogs = "trucmuch 1.exe"
gosub lance
Tprogs = "trucmuch 2.exe"
gosub lance
Tprogs = "trucmuch 3.exe"
gosub lance
exit sub
lance:
x = Shell(Tprog, 1)
for i = 1 to 10000
for j = 1 to 10000
for k = 1 to 10000
next k
next j
next i
return
end sub
---
Romans, logiciels, email, site personnel
http://irolog.free.fr/joe.htm
------------------------------------------------------------------------------------
"Kic360" 48b92758$0$9851$
| bonjour
| est-ce que je peux faire cela:
| Tprogs(1) = "C:Program FilesNaturalPointTrackIR4TrackIR.exe"
| car il ne se lance pas
| merci
|
| "Jean-marc" | 48b862c8$0$2864$
| > Kic360 wrote:
| >> bonsoir
| >
| > Hello,
| >
| >> je recherche le code pour lancer une suite de 3 programmes avec un
| >> timer entre chaque pour leur laisser le temps de s'ouvrir.
| >>
| >> open "c:program filestrucmuch.exe" ne fonctionne pas
| >>
| >> une idée?
| >
| > Oui :-)
| >
| > Consulter la FAQ du groupe qui indique divers moyen de faire ça,
| > à adapter à tes besoins:
| >
| > http://faq.vb.free.fr/index.php?question=7
| > http://faq.vb.free.fr/index.php?question3
| > http://faq.vb.free.fr/index.php?question2
| >
| > Pour faire une pause entre les lacements, tu peux utiliser ceci:
| > http://faq.vb.free.fr/index.php?question6
| >
| > Ou bien utiliser un timer. On met alors le nom des exe dans un tableau
| > et on crée un timer qui se déclenche par exemple toutes les N secondes.
| > Dans le timer, on maintient une variable statique que l'on incrémentera
| > à chaque passage. une fois le dernier programme lancé, on disable le
| > timer.
| >
| > Ca donnerait un truc comme ça:
| > '
| > ' Mettre sur la form un Timer (Timer1) et un
| > ' bouton de commande (Command1)
| >
| > Option Explicit
| >
| > Const NBR_PROGS As Long = 3
| > Dim Tprogs(NBR_PROGS) As String
| >
| > Private Sub Form_Load()
| >
| > Tprogs(1) = "toto.exe"
| > Tprogs(2) = "titi.exe"
| > Tprogs(3) = "tutu.exe"
| > End Sub
| >
| > Private Sub Command1_Click()
| > Timer1.Interval = 2000 ' 2 secondes
| > Timer1.Enabled = True
| > End Sub
| >
| > Private Sub Timer1_Timer()
| > Static n As Integer
| >
| > n = n + 1
| > If n > NBR_PROGS Then
| > MsgBox "tous les programmes ont été lancés"
| > Timer1.Enabled = False
| > n = 0 ' Reset
| > Else
| > MsgBox "lance le programme : " & Tprogs(n)
| > ' lancer ici le programme
| > End If
| >
| > End Sub
| >
| > Note: l'instruction Open ne fonctionne pas du tout comme tu crois.
| > Cf. http://msdn.microsoft.com/en-us/library/aa266177(VS.60).aspx
| >
| > Tu peux consulter l'aide de VB ici:
| > http://msdn.microsoft.com/en-us/library/aa139596.aspx
| >
| > D'une façon générale, la FAQ du groupe contient de nombreux
| > articles et exemples de code: http://faq.vb.free.fr/
| >
| > Cordialement,
| >
| > --
| > Jean-marc Noury (jean_marc_n2)
| > Microsoft MVP - Visual Basic
| > FAQ VB: http://faq.vb.free.fr/
| > mailto: remove '_no_spam_' ;
| >
| >
| >
| >
| >
| >
|
|
<snip le code immonde>
ALors la, ce n'est même pas que ce n'est pas "académique", c'est
juste carrément n'importe quoi :o)))
Et en plus d'être immonde, ça ne fonctionne pas:
Faire une pause en faisant des boucles vides, ça ne marche pas car:
- En fonction de la machine, les résultats sont évidemment différents
- Mieux encore: avec des options de compilation correctes, le compilateur
va supprimer ce code car il se rendra compte que les boucles ne servent
à rien (et y mettre une affectation de variable bidon n'y changera rien).
Bref, il ne faut pas faire ça, académiquement ou non :-))))))))
PS: Comme je suis un homme courtois, je ne dirais pas ici ce que je
pense de l'utilisation "merveilleuse" du Gosub qui nous a été présenté
ici...
--
Jean-marc Noury (jean_marc_n2)
Microsoft MVP - Visual Basic
FAQ VB: http://faq.vb.free.fr/
mailto: remove '_no_spam_' ;
k2Úy(date)
Désolé, mea culpa, c'était juste pour le dépanner si jamais il avait un
problème avec le Timer, qui la première fois n'est pas évident à bien
comprendre...
On peut aussi utiliser sleep, ce serait mieux (académique)...
Mais... il a quoi mon gosub, es-tu anti-gosub, pourquoi donc ?
--
Merci beaucoup, au revoir et à bientôt :o)
------
Romans, logiciels, email, site personnel
http://irolog.free.fr/joe.htm
------------------------------------------------------------------------------------
"Jean-marc" 48b95073$0$2856$
| LE TROLL wrote:
| > Bonjour,
|
| > Et puis si t'as du mal avec le Timer, tu peux faire autre chose,
| > mais je vais me faire fusiller, ce n'est pas académique, ceci :
|
| <snip le code immonde>
|
| ALors la, ce n'est même pas que ce n'est pas "académique", c'est
| juste carrément n'importe quoi :o)))
|
| Et en plus d'être immonde, ça ne fonctionne pas:
| Faire une pause en faisant des boucles vides, ça ne marche pas car:
| - En fonction de la machine, les résultats sont évidemment différents
| - Mieux encore: avec des options de compilation correctes, le compilateur
| va supprimer ce code car il se rendra compte que les boucles ne servent
| à rien (et y mettre une affectation de variable bidon n'y changera rien).
|
| Bref, il ne faut pas faire ça, académiquement ou non :-))))))))
|
| PS: Comme je suis un homme courtois, je ne dirais pas ici ce que je
| pense de l'utilisation "merveilleuse" du Gosub qui nous a été présenté
| ici...
|
| --
| Jean-marc Noury (jean_marc_n2)
| Microsoft MVP - Visual Basic
| FAQ VB: http://faq.vb.free.fr/
| mailto: remove '_no_spam_' ;
|
|
|
|
Je ne suis pas anti-gosub, ni même anti-goto. Je ne suis "anti" rien du
tout.
Le fait est que l'instruction Gosub était une excellente instruction en
son temps. Elle permettait de faire du pseudo-structuré, avec les moyens
du bord.
Mais l'utiliser aujourd'hui, c'est comme si un architecte me disait
aujourd'hui (2008), pour la construction d'une maison neuve :
"Je n'ai pas mis l'eau courante sur l'évier, j'ai mis un puits.
Je n'ai pas non plus mis de toilettes, j'ai mis une cabane au fond
du jardin".
Je ne suis pas "anti-puits", ni "anti-cabanes-au-fond-jardin", mais
tu admettras qu'un architecte qui proposerait cela aujourd'hui ne serait
pas crédible. Ou si tu veux, on dirait de lui qu'il n'est pas au courant
de "l'état de l'art". Et peu de promoteurs 'académiques' seraient d'accord
pour confier des projets à cet architecte. Pourquoi ? Parce que un puits
c'est
très bien, mais l'eau courante sur l'évier, c'est fiable, pratique, etc. A
tel
point que 99,999% des logements sont équipés de cette facilité. Et que à
part
pour le folklore, ou bien si il n'y a pas d'alternative (pas de réseau d'eau
par
exemple), on préfère l'eau courante au puits.
Gosub = Puits
Procédures et Fonctions = Eau courante
Et bien utiliser Gosub aujourd'hui, c'est mal, parce que ça revient à
utiliser une instruction obsolète depuis plus de 20 ans. Elle a été
remplacée par Sub et Function, qui offrent plus de souplesse, de maitrise du
code, etc.
--
Jean-marc Noury (jean_marc_n2)
Microsoft MVP - Visual Basic
FAQ VB: http://faq.vb.free.fr/
mailto: remove '_no_spam_' ;
j'ai voulu simplifier le système pas de feuille, ni de boutons!
est-ce que je peux faire cela?
Private Sub Form_Load()
Shell "C:Program FilesNaturalPointTrackIR4TrackIR.exe" 'réduire la
fenetre
Timer1.Interval = 3000 ' 3 secondes
Timer1.Enabled = True
Shell "C:Program FilesTeamspeak2_RC2TeamSpeak.exe" 'reduire la
fenetre
Timer2.Interval = 3000 ' 3 secondes
Timer2.Enabled = True
Shell "C:Program FilesUbisoftEagle DynamicsLock Onlockon.exe"
End Sub
comment réduire les fenêtres des 2 premiers logiciels?
"Jean-marc" 48b862c8$0$2864$
Hello,
Oui.
En Utilisant ShellExecute et en lisant la documentation
gracieusement mise à ta disposition par Miscrosoft.
http://faq.vb.free.fr/index.php?question=7
Indice: c'est le dernier paramère de la fonction ShellExecute.
--
Jean-marc Noury (jean_marc_n2)
Microsoft MVP - Visual Basic
FAQ VB: http://faq.vb.free.fr/
mailto: remove '_no_spam_' ;