Получить заголовок окна открытия и закрыть с конкретным заголовком? - PullRequest
2 голосов
/ 29 мая 2010

Как я могу закрыть окно с определенным заголовком в базе Windows XP, используя VBscript?

Или есть другой способ решить эту проблему?

Ответы [ 2 ]

11 голосов
/ 29 мая 2010

Вы можете использовать метод SendKeys, чтобы отправить ярлык Alt + F4 в окно, которое вы хотите закрыть. Это окно должно быть активным в данный момент, поэтому вам также нужно позвонить AppActivate прямо перед SendKeys.

По сути, вам понадобится что-то вроде этого:

Set oShell = CreateObject("WScript.Shell") 
oShell.AppActivate "Untitled - Notepad"
oShell.SendKeys "%{F4}"

Вы можете добавить проверки и небольшие задержки, чтобы сделать ваш скрипт более надежным:

Set oShell = CreateObject("WScript.Shell") 
If oShell.AppActivate("Untitled - Notepad") Then
   WScript.Sleep 500
   oShell.SendKeys "%{F4}"
End If

Редактировать: (Ответ на ваш комментарий / вопрос о ресурсах VBScript.)

Я собрал несколько ссылок на веб-сайты VBScript и страницы ресурсов, которые, я надеюсь, будут полезны:

Обучение

Ссылки

Другие ресурсы


Что касается ресурсов VBScript на русском языке, ознакомьтесь с script-coding.info и Серый форум & mdash; Есть много полезных и интересных примеров. Также обратите внимание на эту ветку , которая содержит ссылки на многие ресурсы VBScript, в том числе на русском языке.

0 голосов
/ 20 мая 2016

Публикация этого ответа для всех, кто все еще пытается закрыть объект WScript.Shell после его создания и не может найти решение. Я пробовал вышеуказанное решение, и оно приводит к сбою MSWord 2016, не знаю причину Мой Vb Сценарий:

        Dim wsh As Object
        Set wsh = CreateObject("WScript.Shell", vbNothing)
        wsh.Run "cmd.exe /C pause"
        wsh.Run "taskkill /F /IM cmd.exe"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...