You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用VBScript检测Edge运行状态并获取所有打开标签页的URL

实现方案

该需求完全可以通过VBS实现,不需要额外依赖其他工具,核心原理是通过Shell.Application对象调用Chromium内核Edge暴露的自动化接口获取标签页信息,完整实现代码如下:

Dim objWMIService, colProcesses, objShell, objWindows, objWindow, isEdgeRunning
isEdgeRunning = False

' 第一步:检测Edge进程是否运行
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
Set colProcesses = objWMIService.ExecQuery("SELECT * FROM Win32_Process WHERE Name='msedge.exe'")
If colProcesses.Count > 0 Then
    isEdgeRunning = True
    WScript.Echo "检测到Edge浏览器正在运行,当前打开的标签页URL如下:"
    WScript.Echo "----------------------------------------"
Else
    WScript.Echo "Edge浏览器未启动"
    WScript.Quit
End If

' 第二步:遍历获取所有Edge标签页URL
Set objShell = CreateObject("Shell.Application")
Set objWindows = objShell.Windows
For Each objWindow In objWindows
    ' 过滤Edge窗口,判断进程名和类名
    If InStr(1, objWindow.FullName, "msedge.exe", vbTextCompare) > 0 Then
        WScript.Echo "标签标题:" & objWindow.LocationName
        WScript.Echo "标签URL:" & objWindow.LocationURL
        WScript.Echo "----------------------------------------"
    End If
Next

' 释放对象
Set objWindow = Nothing
Set objWindows = Nothing
Set objShell = Nothing
Set colProcesses = Nothing
Set objWMIService = Nothing
注意事项
  • 代码默认仅能获取当前登录用户下打开的Edge窗口,其他用户会话启动的Edge进程无法读取标签信息
  • 如果Edge开启了「增强安全模式」或者组策略禁用了浏览器自动化接口,可能无法正常读取URL
  • 代码会返回所有类型的Edge页面,包括设置页、扩展页、新标签页等,不需要可以自行对LocationURL加过滤规则
  • 运行时如果需要输出到文件,可以通过命令行执行cscript 脚本文件名.vbs > 输出文件.txt实现

内容的提问来源于stack exchange,提问作者FCoelho

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 20:09:01