OVH Cloud OVH Cloud

GetTickcount en vbs ou équivalent

2 réponses
Avatar
lolo60
Bonjour,

J'ai créé un petit script VBS qui surveille un processus en mémoire dont
voici le principe :

Attendre que le processus soit en mémoire.
Attendre que le processus ne soit plus en mémoire.
Continuer le script

Or si je laisse les choses tel quel si le processus n'arrive jamais, je
tombe dans une boucle infinie.

Je recherche un moyen de faire un timeout comme on peut le faire dans
d'autres languages avec GetTickCount (ou autre chose).

J'ai bien cherché sur le net mais je n'ai pas trouvé d'exemple de timeout en
vbs. Je crois d'ailleur savoir qu'en VBS/WSH/WMI on ne peut pas appeler
directement une API.

Quelqu'un a t-il un exemple ou un début de soluce ?

Merci d'avance,
Laurent VOISIN.

2 réponses

Avatar
Georges MAUREL
Bonjour
Peut-être en adaptant ceci :

Set WshShell = WScript.CreateObject("WScript.Shell")
v_debut=timer
v_fin = timer

v_retour = -1

while (v_retour=-1) and (v_fin-v_debut < 10)
v_retour= WshShell.Run("notepad ", 1, false)
v_fin=timer
wend

msgbox "fini"

Cordialement
Georges


"lolo60" a écrit dans le message de news:
dij7fc$1n7$
Bonjour,

J'ai créé un petit script VBS qui surveille un processus en mémoire dont
voici le principe :

Attendre que le processus soit en mémoire.
Attendre que le processus ne soit plus en mémoire.
Continuer le script

Or si je laisse les choses tel quel si le processus n'arrive jamais, je
tombe dans une boucle infinie.

Je recherche un moyen de faire un timeout comme on peut le faire dans
d'autres languages avec GetTickCount (ou autre chose).

J'ai bien cherché sur le net mais je n'ai pas trouvé d'exemple de timeout
en vbs. Je crois d'ailleur savoir qu'en VBS/WSH/WMI on ne peut pas appeler
directement une API.

Quelqu'un a t-il un exemple ou un début de soluce ?

Merci d'avance,
Laurent VOISIN.



Avatar
lolo60
"Georges MAUREL" <georges.maurel_at_free.fr> a écrit dans le message de
news: %
Bonjour
Peut-être en adaptant ceci :

Set WshShell = WScript.CreateObject("WScript.Shell")
v_debut=timer
v_fin = timer

v_retour = -1

while (v_retour=-1) and (v_fin-v_debut < 10)
v_retour= WshShell.Run("notepad ", 1, false)
v_fin=timer
wend

msgbox "fini"

Cordialement
Georges


"lolo60" a écrit dans le message de news:
dij7fc$1n7$
Bonjour,

J'ai créé un petit script VBS qui surveille un processus en mémoire dont
voici le principe :

Attendre que le processus soit en mémoire.
Attendre que le processus ne soit plus en mémoire.
Continuer le script

Or si je laisse les choses tel quel si le processus n'arrive jamais, je
tombe dans une boucle infinie.

Je recherche un moyen de faire un timeout comme on peut le faire dans
d'autres languages avec GetTickCount (ou autre chose).

J'ai bien cherché sur le net mais je n'ai pas trouvé d'exemple de timeout
en vbs. Je crois d'ailleur savoir qu'en VBS/WSH/WMI on ne peut pas
appeler directement une API.

Quelqu'un a t-il un exemple ou un début de soluce ?

Merci d'avance,
Laurent VOISIN.





Salut Georges,

Ca fonctionne parfaitement, merci beaucoup pour ton aide.

Laurent.