从PowerShell脚本启动Internet Explorer
我将一些PS代码放在一起,在更大的PS脚本中执行以下操作:从PowerShell脚本启动Internet Explorer,powershell,Powershell,我将一些PS代码放在一起,在更大的PS脚本中执行以下操作: 测试IE进程是否已在运行 如果IE尚未运行,则启动一个新进程,在该进程中打开站点1,然后在该进程的前台选项卡中打开站点2 使IE进程全屏显示 If (-Not (Get-Process IExplore -ErrorAction SilentlyContinue)) { $navOpenInForegroundTab = 0x10000; $ie = New-Object -Com InternetExplor
- 测试IE进程是否已在运行
- 如果IE尚未运行,则启动一个新进程,在该进程中打开站点1,然后在该进程的前台选项卡中打开站点2
- 使IE进程全屏显示
If (-Not (Get-Process IExplore -ErrorAction SilentlyContinue)) { $navOpenInForegroundTab = 0x10000; $ie = New-Object -Com InternetExplorer.Application $ie.Visible = $True; $ie.Navigate2("https://stackoverflow.com"); $ie.Navigate2("http://superuser.com", $navOpenInForegroundTab); $sw = @' [DllImport("user32.dll")] public static extern int ShowWindow(int hwnd, int nCmdShow); '@ $type = Add-Type -Name ShowWindow2 -MemberDefinition $sw -Language CSharpVersion3 -Namespace Utils -PassThru $type::ShowWindow($ie.hwnd, 3) # 3 = maximize }
一切似乎都很正常,只是在这段代码运行之后,它在PowerShell窗口中显示了数字24(我正在从命令行启动PS)。有人能告诉我为什么在运行上述代码时会显示24吗?有没有可能阻止它显示?这是ShowWindow函数的返回值。要忽略结果,请使用:
$type::ShowWindow($ie.hwnd, 3) | out-null
这可能是ShowWindow函数的返回值。如果是这种情况,您将编写
$type::ShowWindow($ie.hwnd,3)| out null
。是的,它来自ShowWindow。如果它是一个非零值,那么窗口之前没有隐藏,即它是可见的,这就是它的意思。更多信息请点击这里:非常好,谢谢。这就是正在发生的事情,脚本现在运行B-E-A-UTIFULLY@STGdb将其作为答案发布并接受