Estoy buscando una manera de detectar y cierre de un sistema abierto messagebox con VBScript.

Mediante el siguiente script, que me puede hacer llegar el mensaje a primer plano y cerrar:

set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.AppActive "System Settings Change"
WshShell.SendKeys "%N"

La Pregunta: necesito una manera de detectar si un cuadro de mensaje está a la espera de interacción con el usuario mediante VBsciprt así que puede cerrar.

Thnak usted.

InformationsquelleAutor Leonid F. | 2010-02-14

2 Comentarios

  1. 2

    La secuencia de comandos a continuación va a hacer exactamente lo que te pedí.

    ' Will loop forever checking for the message every half a second  
    ' until it finds the message then it will send Alt-N and quit. 
    
    Set wshShell = CreateObject("WScript.Shell") 
    
    Do 
        ret = wshShell.AppActivate("System Settings Change") 
        If ret = True Then 
            wshShell.SendKeys "%N" 
            Exit Do 
        End If 
        WScript.Sleep 500 
    Loop 
  2. 0

    Ya tienes el código para activar y cerrar el cuadro de mensaje, supongo que lo que estás haciendo puede o no puede causar un cuadro de mensaje que aparece y se necesita una forma clara que si lo hace.

    Es un método para lanzar una segunda secuencia de comandos que contiene un bucle en el que los relojes para el cuadro de mensaje y se cierra cuando, si la encuentra. Puede código de tiempo de espera después de una cierta cantidad de tiempo que permitirá que el script principal para completar.

Dejar respuesta

Please enter your comment!
Please enter your name here