win32gui.EnumWindows(enumHandler, titles) 写入类 中无法调用
时间: 2024-03-12 17:45:04 浏览: 28
如果你想在类中调用win32gui.EnumWindows()函数,可以在类中定义一个方法,例如:
```python
import win32gui
class MyClass:
def __init__(self):
self.titles = [] # 用于存储窗口句柄的列表
def enum_handler(self, hwnd, _):
if win32gui.IsWindowVisible(hwnd):
if '【魔域】' in win32gui.GetWindowText(hwnd):
self.titles.append(hwnd)
def find_game_window(self):
win32gui.EnumWindows(self.enum_handler, None)
return self.titles
```
在这个例子中,我们定义了一个名为`MyClass`的类,其中包含一个`enum_handler()`方法和一个`find_game_window()`方法。在`__init__()`方法中,我们初始化了一个列表`tiles`,用于存储窗口句柄。
`enum_handler()`方法与你提供的代码片段是一样的,用于枚举当前打开的窗口,并将其中标题中包含"【魔域】"的窗口句柄添加到`tiles`列表中。
`find_game_window()`方法调用了`EnumWindows()`函数,并将`self.enum_handler`作为回调函数传递给它。由于`EnumWindows()`函数需要两个参数,我们将第二个参数设为`None`,表示在`enum_handler()`函数中我们不需要使用第二个参数。
最后,`find_game_window()`方法返回`tiles`列表,其中包含所有符合条件的窗口句柄。你可以实例化`MyClass`类并调用`find_game_window()`方法来获取窗口句柄列表。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)