【发布时间】:2021-10-19 03:26:07
【问题描述】:
我想验证边缘是否打开,如果是,我想检索每个打开选项卡的 url。 目前我有这个,但我在vbs方面没有太多经验。我想用 vbs 实现什么?
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
sQuery = "SELECT * FROM Win32_Process"
Set objItems = objWMIService.ExecQuery(sQuery)
For Each objItem In objItems
if(objItem.Name = "msedge.exe") then
WScript.Echo "Process [Name:" & objItem.Name & "]"
Exit For
end if
Next
提前致谢,
【问题讨论】:
-
使用 PowerShell 并使用 Windows UI 自动化 API 可能会更好。预先警告,这并不容易掌握,但它会完成工作,如果你用谷歌搜索正确的术语,有几个现成的例子。
-
@leeharvey1 感谢您的回复。不幸的是,我真的必须使用 vbs。旧程序与 ie 一起工作,现在它只是希望我们通过边缘更改 ie。并且 vbs 文件被另一个程序调用,如果我换成另一个东西,它会更加困难。
-
@FCoelho 如果没有一些专有的 COM DLL 来完成繁重的工作,您将无法使用 VBScript 来完成。 Lee 关于使用 PowerShell 的建议可能值得诚实地追求。如果你真的必须使用 VBScript,你可以在 PowerShell 中执行它并通过 VBScript 进行管道传输,但重点在哪里。
-
我同意 user692942 的评论。我认为你不能用 VBScript 做到这一点。我之前遇到过a similar thread,但它使用的是C#。使用 C#,您可以使用 AutomationElement Class 轻松获取 Edge url。
-
@user692942 你说我可以使用 powershell 并用这个 powershell 代码“连接”vbs 文件?