修改代码,使得只输出指定标题的句柄
时间: 2024-02-17 07:00:23 浏览: 29
如果你只想输出指定标题的窗口句柄,可以修改代码中的get_hwnd方法,添加一个参数title,用于指定要输出的窗口标题,然后在遍历hwnd_title字典时,只输出指定标题的窗口句柄。下面是修改后的代码:
```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)):
title = win32gui.GetWindowText(hwnd)
if title:
hwnd_title[title] = hwnd
def get_hwnd(self, title):
'''
:param title: 指定窗口标题
:return: 窗口句柄
'''
hwnd_title = {}
win32gui.EnumWindows(self.get_hwnd_dic, hwnd_title)
return hwnd_title.get(title, None)
# 示例:输出指定标题的窗口句柄
hwnd = Hwnd()
title = "Chrome" # 指定窗口标题
hwnd_id = hwnd.get_hwnd(title)
if hwnd_id is None:
print(f"窗口{title}不存在!")
else:
print(f"窗口{title}的句柄为:{hwnd_id}")
```
在这个例子中,我们修改了get_hwnd方法,添加了一个参数title,用于指定要输出的窗口标题。然后在遍历hwnd_title字典时,只输出指定标题的窗口句柄。如果指定标题的窗口不存在,则返回None。
在示例中,我们指定了要输出的窗口标题为"Chrome",然后调用get_hwnd方法获取该窗口的句柄。如果该窗口存在,则输出窗口的句柄。如果该窗口不存在,则输出提示信息。