标题: [问题求助] PowerShell创建的comobject对象如何通过进程结束 [打印本页]
作者: Royo 时间: 2022-11-23 10:19 标题: PowerShell创建的comobject对象如何通过进程结束
我创建了一个ie对象 $ie=new-object -com Internetexplorer.application,由于某些原因,我需要使用结束进程的方法结束这个$ie,而不是用$ie.quit()的方法,我不能用stop-process结束整个iexplore,因为其他打开的ie页面需要保留。我试过通过id和mainwindowtitle来匹配,但mainwindowtitle只能取得ie主窗口的标题。请问有解决方法吗。
作者: WHY 时间: 2022-11-24 09:43
本帖最后由 WHY 于 2022-11-24 15:54 编辑
ie对象有一个属性HWND
不过创建的ie对象默认为隐藏窗口,通过Get-Process获取ie对象的MainWindowHandle值为0,是错误的。
https://learn.microsoft.com/zh-c ... ss_MainWindowHandle
如果不想用IE本身的Quit()方法:
1.用Shell.Application- #通过窗口句柄结束进程
- $ie = New-Object -Com Internetexplorer.Application;
- (New-Object -Com Shell.Application).Windows() | ?{ $_.HWND -eq $ie.HWND } | %{ $_.Quit(); }
复制代码
2.IE显现,再用Stop-Process结束进程- #设置窗口显现
- $ie = New-Object -Com Internetexplorer.Application;
- $ie.Visible = $true;
- Get-Process -Name iexplore | ?{$_.MainWindowHandle -eq $ie.HWND} | Stop-Process
复制代码
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |