VBScript для обнаружения открытого окна сообщений и его закрытия - PullRequest
3 голосов
/ 14 февраля 2010

Я ищу способ обнаружения и закрытия открытого системного сообщения с помощью VBScript.

Используя следующий скрипт, я могу вывести сообщение на передний план и закрыть его:

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

Вопрос: Мне нужен способ определить, ожидает ли ящик сообщений взаимодействия с пользователем, используя VBsciprt, чтобы я мог закрыть его.

Спасибо тебе.

Ответы [ 2 ]

2 голосов
/ 15 февраля 2010

Сценарий ниже сделает именно то, что я просил.

' 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 
0 голосов
/ 15 февраля 2010

Поскольку у вас есть код для активации и закрытия окна сообщений, я предполагаю, что все, что вы делаете, может вызывать или не приводить к появлению окна сообщений, и вам нужен способ его очистки, если он есть.

Один из способов - запустить второй скрипт, который просто содержит цикл, который отслеживает окно сообщения и закрывает его, когда находит его. Вы можете закодировать его как тайм-аут через некоторое время, которое позволит основному сценарию завершиться.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...