В прошлом я использовал приведенный ниже сценарий, чтобы определить, активировано или нет активное окно с названием «Удаленный рабочий стол» , Если он неактивен, скрипт будет запускаться автоматически или снова активировать его.vbscript для автоматического обнаружения открытого окна и закрытия его или скрипта Google Apps для управления кнопкой отправки формы
Вопрос: Есть ли способ определить, активировано ли окно и автоматически закрыть его? Я настраиваю киоск в режиме хромированного киоска на компьютере под управлением 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
Если окно, в котором я нуждаюсь, является активным, а затем запускается следующий скрипт, окно закроется. Это почти так, как будто мне нужно собрать верхний и нижний код вместе, чтобы достичь того, что мне нужно, но я не знаю, как это сделать. Dim oShell
Set oShell = CreateObject("WScript.Shell")
If oShell.AppActivate("Untitled - Notepad") Then
WScript.Sleep 500
oShell.SendKeys "%{F4}"
End If
Я пытаюсь найти скрипт, который будет выполняться при запуске и ждать, пока окно с определенным названием, чтобы открыть и затем закройте его, когда он будет обнаружен. Было бы еще лучше, если бы я мог контролировать, как долго окно остается открытым после обнаружения, но если бы я мог просто закрыть его, это было бы достаточно.
Я думаю, что нашел хорошее решение. Я нашел this post и изменил ответ. Кто-нибудь видит какие-либо проблемы с этим?
' 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
Только это я правильно понимаю: вы хотите найти приложение (часть) его заголовка окна с помощью VBScript в Windows? – Tomalak
Невозможно с помощью сценария gapps –
Да Тамалак. Сценарий запускается при запуске и обнаруживает окно при открытии, а затем закрывает его. Я редактировал исходное сообщение, чтобы включить сценарий, о котором я упоминал в первом абзаце. – user2116516