我有可视化的基本脚本,其中包括创建IE实例,隐藏它,操纵它然后让用户看到它。
不幸的是,由于原因不明确,恢复功能无法在所有PC上运行。目前的代码是:
objectIE.Visible = True
wshShell.AppActivate objectIE 'which is I think wrong as objectIE is not PID.
wscript.sleep timoutSleep
wshShell.SendKeys restWindow 'which is "% r" and will not work on all locales :(
我认为问题出在这一行:
wshShell.AppActivate objectIE
我想在这里我需要将PID传递给AppActivate
方法。
问题:如何获取IE对象的PID?或wshShell.AppActivate objectIE
是正确的,我看错了方向?
P.S。我不能使用应用程序的标题,因为它不是唯一的:(
答案 0 :(得分:1)
您可以使用pInvoke从PowerShell脚本调用Win32方法。 整个互联网的例子。对于PostMessage,这里有一个例子: SendMessage is causing script to hang
要使其工作,您需要在字符串中构建PSScript行,然后使用例如
powershell.exe -ExecutionPolicy Unrestricted -command "get-process -Name iexplore"
提取生成的ID,然后将其发送到调用PostMessage()
的脚本,甚至将所有命令放入单个(短)脚本中。