В прошлом я использовал приведенный ниже сценарий, чтобы определить, активно ли активное окно с заголовком «Удаленный рабочий стол». Если он не активен, скрипт автоматически запустится или снова сделает его активным.
Вопрос: Есть ли способ определить, активно ли окно, и автоматически закрыть его? Я настраиваю киоск в режиме хромированного киоска на компьютере с Windows 7 для нашего офиса. Главная страница запускает выбранную форму Google во всплывающем окне. Страница подтверждения формы имеет заголовок «Спасибо!» в строке заголовка. Есть ли способ для скрипта автоматически обнаружить это окно и закрыть его? Это было бы хорошо, потому что пользователь увидит, что его ответ был отправлен (на секунду или две), но если он не закроет окно, оно не будет открыто, когда следующий пользователь пойдет использовать киоск.
Другой вариант может быть, если есть способ использовать скрипт Google в форме, чтобы запрограммировать кнопку отправки, чтобы закрыть окно. Я не уверен, что это возможно.
Option Explicit
'On Error Resume Next
Dim objShell
Set objShell = CreateObject("WScript.Shell")
Do
If (objShell.AppActivate("Window Title Here") = False) Then
objShell.Run "mstsc.exe " & chr(34) & "c:\scripts\Remote Desktop.rdp" & chr(34)
WScript.Sleep 5000
Else
WScript.Sleep 3000
End If
Loop
Если окно, которое мне нужно закрыть, активно, а затем запускается следующий скрипт, окно закроется. Это похоже на то, что мне нужно соединить верхний и нижний код вместе, чтобы добиться того, что мне нужно, но я не уверен, как это сделать. Дим ОШелл
Set oShell = CreateObject("WScript.Shell")
If oShell.AppActivate("Untitled - Notepad") Then
WScript.Sleep 500
oShell.SendKeys "%{F4}"
End If
Я пытаюсь найти сценарий, который будет запускаться при запуске и ждать, пока откроется окно с определенным заголовком, а затем закрыть его, как только оно будет обнаружено. Было бы еще лучше, если бы я мог контролировать, как долго окно остается открытым после обнаружения, но если бы я мог просто закрыть его, этого было бы достаточно.
Думаю, я нашел хорошее решение. Я нашел это сообщение и изменил ответ. Кто-нибудь видит какие-либо проблемы с этим?
' Will loop forever checking for the message every half a second
' When it finds the message it will close the window
Set wshShell = CreateObject("WScript.Shell")
Do
ret = wshShell.AppActivate("Untitled - Notepad")
If ret = True Then
wshShell.SendKeys "%{F4}" 'ALT F4
End If
WScript.Sleep 500
Loop