Bonjour,
Est-il possible, au lieu de préciser le temps (ici 6 secondes) de dire : éxécution de la suite après avoir appuyé sur la touche entrée ?Code:WScript.Sleep(6000)
Version imprimable
Bonjour,
Est-il possible, au lieu de préciser le temps (ici 6 secondes) de dire : éxécution de la suite après avoir appuyé sur la touche entrée ?Code:WScript.Sleep(6000)
Salut ,
Pourquoi ne pas mettre une boite de dialogue en pop up à la place (une inputBox) ? Ca bloquerait l'exécution tant qu'on a pas cliqué sur OK il me semble...
Bon courage
-M@rc0- :mrgreen:
Et tu fais celà comment ? ta solution pourrait effectivement m'intéresser ;)
Je manque un peu d'infos sur ton programme pour te dire exactement où mettre le MsgBox/InputBox mais je peux te renseigner sur la syntaxe :
(NB : si tu ne souhaites pas récupérer la réponse utilisateur, utilise MsgBox)
look ici :
http://www.w3schools.com/VBScript/func_inputbox.asp
et là :
http://www.w3schools.com/VBScript/func_msgbox.asp
Enfin voilà, en gros, je pense qu'il faut le placer au même endroit que ton Sleep et que, tant que l'utilisateur n'aura pas cliqué sur OK, le prog sera en stand-by ... Sinon, tu peux surement insérer ton InputBox dans une boucle vérifiant la valeur saisie et validant/invalidant le fait de continuer le programme.
Je viens de coder un exemple idiot mais qui fonctionne et te donnera une idée :
Essai et tu comprendras peut être mieux.Code:
1
2
3
4
5
6
7
8
9 Dim rep rep = InputBox("Ca va ?") while rep <> "oui" rep = InputBox("Ca va ?") wend MsgBox ("ouf..on est sorti")
Bon courage et fais signe en cas de besoin :D
-M@rc0- :mrgreen:
J'ai copié ton bout de code et l'exemple correspondt assez à ce que je voudrai faire.
Voici mon code, et ce qu'il gère :
rdisk.rdi est une partition verrouillée, je l'appelle via le logiciel Rohos pour ouvrir l'interface avec le code.Code:
1
2
3
4
5
6 Set wshell=CreateObject("WScript.Shell") wshell.Run"C:\Progra~1\Rohos\agent.exe J:\rdisk.rdi" WScript.Sleep(4000) wshell.Run"K:\Mov'AMP\movamp.exe" WScript.Sleep(1000) wshell.Run"C:\Progra~1\Opera\opera.exe http://localhost/"
Là je voudrais que le programme attende que j'ai appuyé sur le Ok de la boite de dialogue de Rohos.
Ensuite, est lancé le serveur apache via movamp (version mobile de easyphp)
puis après un délai d'attente de 1 seconde localhost est lancé via le navigateur opera.
J'ai essayé en ramplaçant
parCode:WScript.Sleep(4000)
mais celà ne semble pas être adapté, car il faut que je clique une fois sur Ok dans Rohos, puis une fois sur la box, sans compter qu'il me propose une ligne de texte vide.Code:rep = InputBox("Ok")
euh... pour ce qui est de la ligne de texte vide, remplace InputBox par MsgBox :D
Pour l'instant je ne suis pas en mesure de te dire comment te passer de ce deuxième OK. Cela me semblait une bonne "solution de secours". En fait ce qu'il faudrait (à mon avis) c'est être à l'écoute des signaux de sorti du Rohos (à la manière des signaux sur les processus en langage C).
Je vais essayer de faire des recherches de mon côté et si je trouve je te préviens.
Courage :D
-M@rc0-
Ok merci Marco :)
Si tu veux te passer de MsgBox, il faudrait savoir ce que fait Rohos. Du genre, est ce qu'il crée un fichier juste avant de te demander de cliquer sur ok ? il positionne une variable d'environnement ? ....
Bref un truc visible que pourrait surveiller ton script, et là il te suffirait de faire une boucle (tant que le truc n'est pas fait) et dans la boucle mettre un sleep de 500 MilliSeconde ou d'une seconde (histoire de ne pas bouffer toutes les ressources du PC chose que le script ferais sans le sleep dans la boucle).
Euh… je peux savoir celà comment ?
En fait ce que j'ai compris du logiciel est qu'il "décompresse" le fichier rdi et que celui-ci devient un lecteur virtuel puisque j'ai une partition supplémentaire après avoir entré le mot de passe. Je ne sais pas si ça aide beaucoup ma description ! rire
Si si, ca aide ! Enfin je pense. Là, il faut t'en remettre à ced600 à mon avis :mouarf: (et evidemment aux recherches dans les FAQ, forums, net... avant toute chose :D)
Il faut savoir comment détecter la présence d'un lecteur virtuel et je pense que ton problème sera réglé.
Je vais regarder aussi, ca pourra pas me faire de mal
++
-M@rc0-
Edit :
ici peut -etre
http://www.developpez.net/forums/sho...light=lecteurs
J'ai donc regardé au lien que tu m'as donné:
Celà affiche une msgbox pour chaque partition.Code:
1
2
3
4
5
6
7
8 Set FSO = CreateObject("Scripting.FileSystemObject") For Each Drv In FSO.Drives If Drv.IsReady Then MsgBox "le support " & Drv.DriveLetter & " --> " & _ Drv.drivetype & " --> " & Drv.FreeSpace & " octets" End If Next
Si je fais ce script avant de lancer Rohos j'ai mes 5 partitions "physiques" ; si je fais ce script après avoir lancé Rohos, j'ai en plus 2 partitions virtuelles intitulées toutes deux Rohos (K et W, pour les lettres)
Dans ce cas là utilise ce bout de code.
Une première fois avant de lancer rohos et note le nombre de lecteur que tu as dans une variable A.
Lance ton soft, puis fait une boucle dont la condition d'arrêt est par exmple que tu es 2 lecteur en plus (B = A + 2).
Dans la boucle tu fais un sleep d'une seconde, et ensuite tu utilises le code précédent pour détecter le nombre de lecteur, et comme pour le début tu stock le nombre, mais cette fois ci dans B.
Salut,
Bon...je pense que tu es sauvé, non ? Tu n'as plus qu'à effectuer un test sur les noms des lecteurs. J'ai pas les syntaxes en tête mais ca devrait donner un truc dans le genre :
Si tu sors du while c'est que trouve est à true et donc que ta condition pour continuer le script est bien remplie (si on considère, ce que j'ai compris, que la condition est la création/montage du volume rohos).Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 Dim trouve trouve = false Set FSO = CreateObject("Scripting.FileSystemObject") While not trouve For Each Drv In FSO.Drives If Drv.VolumeName = "Rohos" Then trouve = true End If Next Wend
Enfin voilà, encore une fois, bon courage.
++
-M@rc0-
Edit : il est fort ce ced600, j'avais pas fini d'écrire mon post qu'il avait déjà posté ;). C'est pas grave, les infos sont complémentaires. Tcho
:)
Si le nom du volume a toujours le nom Rohos, alors la proposition de marco_fot_hxc est meilleur que la mienne. En effet dans la mienne, la création des volumes pouvaient être fait par n'importe qui donc une possibilité d'erreur.
Tu peux toujours essayer de faire un mixe des deux (on ne s'est jamais, qu'un petit malin crée un volume rohos pendant l'exécution du soft ;) )
Ok, merci à vous pour vos réponses. Problème résolu :D