我使用一个非常简单的VBScript在多个屏幕之间切换,然后在暂停和继续之前刷新,但是我要切换的两个屏幕被命名为相同,任何帮助表示赞赏。
Option Explicit
Dim WshShell
Set WshShell = WScript.CreateObject("WScript.Shell")
Do
WScript.Sleep 3000
WshShell.AppActivate("Inbox - Microsoft Outlook")
WScript.Sleep 3000
WshShell.AppActivate("CSE Task Monitor")
WSHShell.SendKeys "{F5}"
WScript.Sleep 3000
WshShell.AppActivate("website - Windows Internet Explorer")
WSHShell.SendKeys "{F5}"
Loop
谢谢大家。 史蒂夫
答案 0 :(得分:1)
您应该使用ProcessId而不是Window Title。 我从exe文件名中获取进程ID。
Set WShell = CreateObject("WScript.Shell")
Set WMI = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
wql = "SELECT ProcessId FROM Win32_Process WHERE Name = ProcessName.exe'"
i=0
For Each process In WMI.ExecQuery(wql)
ProcessIdArray(i) = process.ProcessId
i = i + 1
Next
现在您拥有相同ProcessName.exe的进程ID数组,您可以使用
WshShell.AppActivate(ProcessIdArray(0))
WScript.Sleep 3000
WshShell.AppActivate(ProcessIdArray(1))