Comparer le contenu d'un messagbox??????

Comparer le contenu d'un messagbox?????? - VB/VBA/VBS - Programmation

Marsh Posté le 08-01-2007 à 12:24:19    

Bonjour à tous
j'aimerais savoir si c'est possible qu'un script vbs puisse lire le contenu d'un messagebox (qui s'affiche en premier plan) et de comparer une partie du contenu de celui-ci à une constante.
 
 :jap:  :jap:  :jap: Merci de votre réponse. :jap:  :jap:  :jap:

Reply

Marsh Posté le 08-01-2007 à 12:24:19   

Reply

Marsh Posté le 08-01-2007 à 13:48:10    

Salut,  
 
tu pourrais donner plus de détails sur ce que tu cherches à faire (niveau environnemental) ?  
 
Car pris sans contexte, ta question est un peu étrange :) En effet, il suffit que tu ailles voir dans le code ce qui suit la fonction MsgBox qui retourne le contenu de la fenêtre que tu cherches à analyser, et que tu prennes la string ..
 
Mais je suppose que ce n'est pas ça que tu cherches à faire ...

Reply

Marsh Posté le 08-01-2007 à 14:24:01    

ZeBix a écrit :

Salut,  
 
tu pourrais donner plus de détails sur ce que tu cherches à faire (niveau environnemental) ?  
 
Car pris sans contexte, ta question est un peu étrange :) En effet, il suffit que tu ailles voir dans le code ce qui suit la fonction MsgBox qui retourne le contenu de la fenêtre que tu cherches à analyser, et que tu prennes la string ..
 
Mais je suppose que ce n'est pas ça que tu cherches à faire ...


 
Bonjour zebix,  
 
j'exécute une série d'opérations sur un ensemble de routeurs. Pour celà, j'ai fait une boucle "POUR"
 
Pour routeur depuis ip1 jusqua ipX faire
   ouverture d'hyperterminal
   lancement de telnet
   saisie de IP
   'là hyperterminal m'affiche un messagebox au bout de quelques secondes si le routeur ne répond pas.
   'le message est le suivant "unable to connect IP port 23"
Refaire
 
Quand il affiche ce message je veux qu'il appuie suie sur OK (je sais que je doit mettre un sendkey, mais je ne sais absolument pas quand ce message va apparaitre!) en plus l'ip changera à chaque fois.
 
Alors comment faire comprendre au vbs que sil le message apparait alors il doit le comparer à ma constante. ma constante sera "unable to connect". Si c'est équivalent à ma constante alors il doit appuyer sur OK pour passer au routeur suivant.
 
 
C'est pas évident à expliquer désolé. :(  :ange:  
 

Reply

Marsh Posté le 09-01-2007 à 15:19:04    

up

Reply

Marsh Posté le 09-01-2007 à 17:12:18    

ok alors à mon sens tu devrais plutôt rechercher du côté de ce qui provoque cette erreur, je veux dire il y a bien un code de retour quelque part qui fait poper cette message box (va voir du côté des ERRORLEVEL on ne sait jamais...) , et tu dois pouvoir sûrement exécuter ta commande en mode silent, de manière à lui dire de continuer s'il rencontre une erreur, et de pas devoir physiquement cliquer sur le OK ou envoyer un SendKey...

Reply

Marsh Posté le 10-01-2007 à 07:43:44    

ok merci pour l'info, je vais voir ça de plus près. Je redirai plus tard ce qu'il en est!

Reply

Marsh Posté le 10-01-2007 à 12:05:37    

tu peux t'inspirer de ça afin de récupérer un handle à partir du titre d'une fenêtre, puis inter-agir avec.
 

Code :
  1. Sub test()
  2.     Dim wsh As WshShell
  3.     Set wsh = New WshShell
  4.     wsh.AppActivate "cmd.exe"
  5.     wsh.SendKeys "shutdown /s /t 10 /c ""dtc.com"" /f" & vbCrLf
  6. End Sub

Reply

Marsh Posté le 10-01-2007 à 16:03:03    

Merci MagicBuzz pour ta réponse mais en fait j'ai trouvé une solution encore plus simple. Je n'interroge que les routeurs que je veux en ayant mis une fonction SI comme ça je n'aurai pas le message d'erreur d'hyperterminal !!!! :)
 
En effet, le message d'erreur apparait si le routeur ne correspond pas à des critères que j'ai fixé dans une requête SQL.
 
Du coup, il faudrait que je sache comment écrire dans ma fonction SI "aller à la fin du programme".
je recherche l'équivalent du GOTO sous DOS. Quelqu'un connait l'équivalent. j'ai regardé mais je n'en ai pas trouvé. Je suppose que je dois créer une fonction pour envoyer à la fin du programme mais je ne vois pas comment faire.


Message édité par slr56 le 10-01-2007 à 16:08:27
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed