从VBscript恢复/最大化应用程序窗口的可靠方法

时间:2012-12-06 09:31:14

标签: vbscript

我有可视化的基本脚本,其中包括创建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。我不能使用应用程序的标题,因为它不是唯一的:(

1 个答案:

答案 0 :(得分:1)

您可以使用pInvoke从PowerShell脚本调用Win32方法。 整个互联网的例子。对于PostMessage,这里有一个例子: SendMessage is causing script to hang

要使其工作,您需要在字符串中构建PSScript行,然后使用例如     powershell.exe -ExecutionPolicy Unrestricted -command "get-process -Name iexplore"

提取生成的ID,然后将其发送到调用PostMessage()的脚本,甚至将所有命令放入单个(短)脚本中。