win32gui获取所有活动窗口
时间: 2023-05-31 11:02:04 浏览: 220
您可以使用`win32gui.EnumWindows`函数获取当前所有活动窗口的句柄。然后,您可以使用该句柄执行进一步的操作,例如获取窗口标题,位置等。
下面是一个示例代码,它将获取所有活动窗口的句柄并在控制台中输出它们的标题:
```python
import win32gui
def enum_windows_callback(hwnd, windows):
windows.append(hwnd)
return True
def get_active_windows():
windows = []
win32gui.EnumWindows(enum_windows_callback, windows)
return windows
def main():
windows = get_active_windows()
for hwnd in windows:
title = win32gui.GetWindowText(hwnd)
print(title)
if __name__ == '__main__':
main()
```
相关问题
win32gui获取当前所有窗口句柄
win32gui可以通过以下代码获取当前所有窗口的句柄:
```python
import win32gui
def winEnumHandler(hwnd, ctx):
print(hwnd)
win32gui.EnumWindows(winEnumHandler, None)
```
这段代码通过`EnumWindows`函数遍历系统中的所有窗口,并将每个窗口的句柄打印出来。使用`winEnumHandler`函数作为回调函数,在遍历时会对每个窗口调用该函数,并将窗口的句柄作为参数传入。<em>1</em><em>2</em><em>3</em>
#### 引用[.reference_title]
- *1* [python win32gui 遍历所有窗口 根据标题获取句柄 关闭这个标题的窗口 遍历窗口 获取句柄](https://blog.csdn.net/nongcunqq/article/details/123358714)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}} ] [.reference_item]
- *2* *3* [Python 使用 win32gui+win32api 通过鼠标获取句柄](https://blog.csdn.net/LelerTop/article/details/131327297)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}} ] [.reference_item]
[ .reference_list ]
win32gui获取任务栏窗口
可以使用win32gui模块中的EnumWindows函数遍历所有窗口,然后通过GetClassName和GetWindowText获取窗口的类名和标题,通过判断类名和标题是否为“Shell_TrayWnd”和“任务栏”等关键字,即可获取任务栏窗口的句柄。
示例代码:
```python
import win32gui
def get_taskbar_hwnd():
def callback(hwnd, _):
class_name = win32gui.GetClassName(hwnd)
title = win32gui.GetWindowText(hwnd)
if class_name == 'Shell_TrayWnd' and '任务栏' in title:
return hwnd
hwnd = win32gui.EnumWindows(callback, None)
return hwnd
if __name__ == '__main__':
taskbar_hwnd = get_taskbar_hwnd()
print(taskbar_hwnd)
```
注意:本代码未经过完整测试,可能存在不足之处,仅供参考。
阅读全文