我已经将一些PS代码放在一起,在更大的PS脚本中执行以下操作:
使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 并且可以阻止它显示?
答案 0 :(得分:1)
这是ShowWindow函数的返回值。要忽略结果,请使用:
$type::ShowWindow($ie.hwnd, 3) | out-null