Я пытался создать действительно простой скрипт для поддержания видимости на странице IE, но в настоящее время не могу принудительно установить видимость или положение переднего плана существующего IE окна.
Я могу чтобы успешно активировать окно с помощью WshShell.AppActivate (), но оно не делает страницу передним планом для пользователя. Пример из моего кода приведен ниже.
В основном код повторяется, пока пользователь не закроет окно блокнота. Моя путаница связана именно с тем, почему IE не видно, какие бы команды я ни отправлял
Dim pressX
Dim FindProc
pressX = 1
' Create WScript Shell Object to access filesystem.
Set WshShell = WScript.CreateObject("WScript.Shell")
'WshShell.Run "NoScreenSaver.txt", 2, 0
' Define Which process to seek for to terminate script
strComputer = "."
FindProc = "NoScreenSaver"
Dim objApp : Set objApp = CreateObject("Shell.Application")
Dim IE : Set IE = Nothing
Dim objWindow
' Loop start
Do
' Wait for 5 minutes
WScript.Sleep 3000 '000
For Each objWindow In objApp.Windows
If (InStr(objWindow.Name, "Internet Explorer")) Then
Set IE = objWindow
Exit For
End If
Next
' check if specific notepad closed
If WshShell.AppActivate("NoScreenSaver.txt") = True Then
'WshShell.AppActivate("iexplore.exe")
'wscript.echo FindProc & " is running"
Else
wscript.echo FindProc & " is not running" & vbCrLf & "Script will now end"
pressX = 0
End If
IE.visible = True
wshshell.appactivate ie.name
IE.navigate "google.ca"
' Send dummy key
WshShell.SendKeys "{F13}"
' repeat
Loop While pressX
. Я никогда не хотел использовать AppActivate для проверки указанного окна c в блокноте, так как оно было бы на переднем плане. Есть некоторая информация относительно использования оболочки COM, но подход оболочки COM не возможен в моих ограничениях.