[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[问题求助] PowerShell创建的comobject对象如何通过进程结束

我创建了一个ie对象 $ie=new-object -com Internetexplorer.application,由于某些原因,我需要使用结束进程的方法结束这个$ie,而不是用$ie.quit()的方法,我不能用stop-process结束整个iexplore,因为其他打开的ie页面需要保留。我试过通过id和mainwindowtitle来匹配,但mainwindowtitle只能取得ie主窗口的标题。请问有解决方法吗。

本帖最后由 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
  1. #通过窗口句柄结束进程
  2. $ie = New-Object -Com Internetexplorer.Application;
  3. (New-Object -Com Shell.Application).Windows() | ?{ $_.HWND -eq $ie.HWND } | %{ $_.Quit(); }
复制代码
2.IE显现,再用Stop-Process结束进程
  1. #设置窗口显现
  2. $ie = New-Object -Com Internetexplorer.Application;
  3. $ie.Visible = $true;
  4. Get-Process -Name iexplore | ?{$_.MainWindowHandle -eq $ie.HWND} | Stop-Process
复制代码
1

评分人数

    • Royo: 感谢大佬技术 + 1

TOP

返回列表