要获取 Microsoft Edge 或 Google Chrome 浏览器窗口的句柄HWND可以通过 Windows API 实现。以下是分步说明和代码示例核心概念窗口句柄HWND是 Windows 操作系统为每个窗口分配的唯一标识符用于操作窗口。浏览器进程特性Edge 和 Chrome 均采用多进程架构主窗口顶级窗口Chrome_WidgetWin_1标签页子窗口Chrome_RenderWidgetHostHWND操作步骤以 Python 为例1. 安装依赖库pipinstallpywin322. 获取顶级窗口句柄importwin32guidefget_browser_handle():# 查找顶级窗口类名Chrome_WidgetWin_1hwndwin32gui.FindWindow(Chrome_WidgetWin_1,None)returnhwnd3. 遍历子窗口获取标签页defget_tab_handles(parent_hwnd):tab_handles[]# 枚举所有子窗口defcallback(hwnd,_):ifwin32gui.GetClassName(hwnd)Chrome_RenderWidgetHostHWND:tab_handles.append(hwnd)returnTruewin32gui.EnumChildWindows(parent_hwnd,callback,None)returntab_handles4. 完整示例importwin32guidefmain():# 获取浏览器主窗口main_hwndwin32gui.FindWindow(Chrome_WidgetWin_1,None)print(f主窗口句柄:{main_hwnd})# 获取所有标签页句柄tabsget_tab_handles(main_hwnd)print(f标签页句柄列表:{tabs})if__name____main__:main()注意事项浏览器识别Chrome 和 Edge 使用相同窗口类名因 Chromium 内核可通过窗口标题区分win32gui.GetWindowText(hwnd)多进程限制每个标签页对应独立进程直接操作渲染句柄可能需跨进程通信。64 位系统兼容性若使用 C/C需确保编译环境与浏览器位数一致通常为 64 位。替代方案使用自动化工具如 Selenium间接控制浏览器无需直接操作句柄。通过 Windows UI Automation API 实现更稳定的访问。通过上述方法可精准定位并操作浏览器窗口及其组件。