liuhongqing668 2023-07-18 10:44 采纳率: 0%
浏览 30

Chrome浏览器多开后,如何逐个激活窗口

背景:
多开Chrome浏览器,各自独立,开了10个。
现在需要影刀去获取当前:已打开的网页对象

这里就涉及到,需要有个程序,循环间隔,去逐个激活Chrome浏览器
我想通过C#写个程序,访问任务栏,把某个Chrome浏览器激活。
请各位指教,有没有好的办法。

如下图,把其中一个浏览器窗口,变为当前窗口,这样影刀,就可以通过:获取当前已打开的网页对象 ,做相关数据处理。

img

  • 写回答

2条回答 默认 最新

  • 程序员Ale-阿乐 2023-07-18 11:09
    关注

    在 C# 中,你可以使用 System.Diagnostics.Process 类来实现激活特定的 Chrome 浏览器窗口。以下是一个简单的示例代码,用于激活指定标题的 Chrome 浏览器窗口:

    using System;
    using System.Diagnostics;
    using System.Runtime.InteropServices;
    
    class Program
    {
        [DllImport("user32.dll")]
        private static extern bool SetForegroundWindow(IntPtr hWnd);
    
        static void Main()
        {
            // 指定需要激活的 Chrome 浏览器标题
            string targetTitle = "Google Chrome";
    
            // 获取当前所有进程中的 Chrome 浏览器窗口
            Process[] processes = Process.GetProcessesByName("chrome");
    
            foreach (var process in processes)
            {
                if (process.MainWindowTitle == targetTitle)
                {
                    // 激活指定标题的 Chrome 浏览器窗口
                    SetForegroundWindow(process.MainWindowHandle);
                    break;
                }
            }
        }
    }
    

    在上述代码中,我们通过 Process.GetProcessesByName("chrome") 获取所有正在运行的 Chrome 进程,然后遍历每个进程的 MainWindowTitle 属性(即窗口标题),找到与指定标题相符的 Chrome 浏览器窗口。然后,我们使用 SetForegroundWindow 方法将其激活(置于前台)。
    请注意,这个方法只会激活 Chrome 浏览器的窗口,但并不会切换到指定的标签页或页面。如果需要激活浏览器窗口后再操作浏览器中的页面,你可能需要使用其他工具或库来实现在浏览器页面上执行操作。

    评论

报告相同问题?

问题事件

  • 创建了问题 7月18日