请修改代码:只输出指定标题的窗口句柄
时间: 2024-02-17 17:00:30 浏览: 63
以下是修改后的代码,可以只输出指定标题的窗口句柄:
```python
import win32gui
class Hwnd():
def get_hwnd_dic(self, hwnd, hwnd_title):
if (win32gui.IsWindow(hwnd) and win32gui.IsWindowEnabled(hwnd) and win32gui.IsWindowVisible(hwnd) and win32gui.GetWindowText(hwnd)):
title = win32gui.GetWindowText(hwnd)
if self.target_title in title:
hwnd_title.append(hwnd)
def get_hwnd(self, target_title):
'''
:param target_title: 目标窗口标题,类型为str
:return: [hwnd1, hwnd2, ...]
'''
self.target_title = target_title
hwnd_title = []
win32gui.EnumWindows(self.get_hwnd_dic, hwnd_title)
return hwnd_title
hwnd = Hwnd()
target_title = "指定窗口标题"
hwnd_list = hwnd.get_hwnd(target_title)
print(f"指定标题为'{target_title}'的窗口句柄列表: {hwnd_list}")
```
这里修改了get_hwnd_dic()方法,将获取到的标题与指定的标题进行比较,如果相同则将该窗口的句柄添加到hwnd_title列表中。修改后的get_hwnd()方法返回hwnd_title列表,其中存储了所有指定标题的窗口句柄。在主程序中实例化Hwnd类,传入指定的标题,调用get_hwnd()方法获取指定标题的窗口句柄列表,并将其打印出来。
阅读全文