有多个MS Edge窗口打开。
x1c 0d1x的数据
我的PowerShell脚本首先查找所有MS Edge进程及其ID。然后,它使用Start-Process 'msedge' cmdlet在WebApp模式下的新窗口中打开简单的HTML,即创建一个新的MS Edge进程,该进程会立即将其ID更改为我未知的ID。
的
我觉得这对我来说不是问题。让我们将旧的MS Edge进程列表与新的列表进行比较,从而找到新的进程。说到做到。
的
但我又遇到了另一个问题。当我关闭MS Edge WebApp窗口时,一个完全不同的随机MS Edge进程结束。
的
它是如何工作的?
如何使用PowerShell 5.1跟踪MS Edge WebApp窗口的进程?
非常重要:我需要使用内置的Windows 10工具来完成该任务。我无法使用第三方库!
- 谢谢-谢谢
1条答案
按热度按时间yzuktlbb1#
msedge
processes 之间没有一对一的关系。msedge.exe
启动一个新选项卡时,通常会使用一个 transient 进程,该进程将委托给一个 * 预先存在的 *msedge
进程,然后退出;因此:Start-Process
的-PassThru
开关获取 * 直接 * 启动的进程将 * 不会 * 帮助您。msedge
进程的 * 命令行 * 并不能 * 反映打开的选项卡的URL。--app=<url>
或--new-window
CLI参数以Web应用程序模式打开的窗口,并且,从Microsoft Edge v115开始,该进程的命令行是:字符串
Get-Process
输出的System.Diagnostics.Process
示例的.MainWindowTitle
属性中报告的内容(最终通过GetWindowText()
WinAP函数检索)对应于 whatever window was most recently active 中 active tab 的标题,甚至该选项卡的标题本身也会根据当前显示的页面而更改-有关详细信息,请参阅底部部分。从以上可以得出:
Chrome_WidgetWin_1
与其他基于Chromium的浏览器共享,因此也可以通过这种方式找到 Chrome Web应用程序窗口。以下是标题为
Google
的Web应用程序窗口,自Microsoft Edge v115(基于 Chromium 的实现)起:型
可选阅读:窗口管理Edge进程如何报告其 main 窗口标题:
Get-Process
输出的System.Diagnostics.Process
示例的.MainWindowTitle
属性中,并最终通过GetWindowText()
WinAP函数检索。--app=<url>
CLI参数打开的单独窗口中,将附加 no 后缀,并显示常规标题栏。型
型
型
$visibleTabTitle
和$profileNames
分别是向用户显示的选项卡标题和Edge配置文件名称的占位符;$n
表示 * 附加 * 选项卡的数量。Microsoft
和Edge
之间的ZERO WIDTH SPACE(U+200B
)字符的奇怪用法。