gpt4 book ai didi

c# - 如何使用每个选项卡的 PID 获取 Internet Explorer 选项卡的 URL?

转载 作者:太空狗 更新时间:2023-10-29 21:02:33 25 4
gpt4 key购买 nike

我的应用程序可以触发具有特定 URL 的 Web 浏览器。在我的程序结束后,我想关闭我打开的网页/标签..

通过调用带有参数 a 的 EXE 文件。进程名称 b. URL 中存在的字符串

详细问题 How to kill firefox child process/tab from Java/C++

我使用了 C# 方法 ...

我能够找到所有选项卡的进程 ID..

foreach (Process theprocess in processlist) {
if (theprocess.ProcessName == "iexplore") {
Console.WriteLine("Process: {0}\tID: {1}\tWindow name: {2}",
theprocess.ProcessName, theprocess.Id, theprocess.MainWindowTitle
);
}
}

目前我只能得到进程的窗口标题....在IE8中只有一个主进程的窗口标题是可见的..

如果我有每个选项卡的 pids,如何找到选项卡的 URL ...并只杀死那个选项卡??

我得到了这个帮助 Access is denied - when trying to get the url (text) from address bar's handle

使用 SHDocVw;..

foreach(新 ShellWindowsClass() 中的 InternetExplorer ieInst) Console.WriteLine(ieInst.LocationURL);

最佳答案

在 IE7 及更高版本中,下面的代码将仅杀死其 URL 中具有匹配字符串的选项卡。

   foreach (SHDocVw.InternetExplorer ieInst in new SHDocVw.ShellWindows())
{
String url = ieInst.LocationURL;
if (url.Contains("google"))
{
ieInst.Quit();
}
}

要聚焦一个特定的标签,代码是:

   foreach (SHDocVw.InternetExplorer ieInst in new SHDocVw.ShellWindows())
{
String url = ieInst.LocationURL;
if (url.Contains("google"))
{
int val = ieInst.HWND;
IntPtr hwnd = new IntPtr(val);
ShowWindow(hwnd, SW_MAXIMISE);
SetForegroundWindow(hwnd);
}
}

关于c# - 如何使用每个选项卡的 PID 获取 Internet Explorer 选项卡的 URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8445742/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com