b = win32gui.FindWindow("#32770", "将打印输出另存为") ComboBox = win32gui.FindWindowEx(b, win32con.GW_CHILD, 'ComboBox', None) 为什么报错了提示我E pywintypes.error: (1400, 'FindWindowEx', '无效的窗口句柄。')
时间: 2024-04-18 14:30:23 浏览: 197
该错误提示是因为 `win32gui.FindWindowEx` 函数的第一个参数 `b` 传入了无效的窗口句柄。这可能是由于窗口句柄 `b` 找不到或者已经失效导致的。
建议在调用 `win32gui.FindWindow` 函数时,确保窗口句柄 `b` 是有效的。你可以通过调试代码或者确认窗口句柄是否正确获取来解决此问题。
相关问题
dialog = win32gui.FindWindow('#32770', u'文件上传') # 对话框 ComboBoxEx32 = win32gui.FindWindowEx(dialog, 0, 'ComboBoxEx32', None) ComboBox = win32gui.FindWindowEx(ComboBoxEx32, 0, 'ComboBox', None) Edit = win32gui.FindWindowEx(ComboBox, 0, 'Edit', None) # 上面三句依次寻找对象,直到找到输入框Edit对象的句柄 button = win32gui.FindWindowEx(dialog, 0, 'Button', None) # 确定按钮Button win32gui.SendMessage(Edit, win32con.WM_SETTEXT, None, 'd:\\baidu.py') # 往输入框输入绝对地址 win32gui.SendMessage(dialog, win32con.WM_COMMAND, 1, button) # 按button
这是一段使用win32gui库在Windows平台上进行文件上传的代码。它的作用是打开文件上传对话框,输入文件路径并点击确定按钮进行上传。其中,FindWindow函数用于查找窗口句柄,FindWindowEx函数用于查找子窗口句柄,SendMessage函数用于向窗口发送消息。这段代码使用了WM_SETTEXT消息往输入框中输入文件路径,使用了WM_COMMAND消息点击确定按钮。
fff.huoqujubing() hwnd = win32gui.FindWindow(None, "【魔域】") print(hwnd) controls = [] win32gui.EnumChildWindows(hwnd, lambda hwnd, param: param.append(hwnd), controls) for control in controls: title = win32gui.GetWindowText(control) 将获取的 内容保存为TXT
好的,以下是将获取的内容保存为txt文件的Python代码示例:
```python
import win32gui
# 获取窗口句柄
hwnd = win32gui.FindWindow(None, "【魔域】")
# 枚举窗口所有子控件
controls = []
win32gui.EnumChildWindows(hwnd, lambda hwnd, param: param.append(hwnd), controls)
# 遍历所有子控件并获取文本
text = ""
for control in controls:
title = win32gui.GetWindowText(control)
if title:
text += title + "\n"
# 将文本保存为txt文件
with open("output.txt", "w") as f:
f.write(text)
print("保存成功!")
```
以上代码会将获取到的所有子控件的文本保存为一个名为`output.txt`的文本文件。您可以根据实际需求修改代码中的窗口标题和保存文件名。
阅读全文