运行两个窗口,怎么同时输入账号密码,如打开两个记事本,同一时间在两个记事本输入文本。
现在我使用pyautogui.dragto只能输入一个,因为只有一个光标,要实现这个可能需要两个光标,但是我不知道怎么实现。
如果win32可以,该怎么实现
求解!
该回答引用ChatGPT4与博主@晓码自在合作编写:
要同时控制两个窗口输入,可以使用win32gui和win32con库。实现步骤如下:
具体代码如下:
python
import win32gui
import win32con
# 获取窗口句柄
hwnd1 = win32gui.FindWindow(None, '标题1')
hwnd2 = win32gui.FindWindow(None, '标题2')
# 获取窗口输入框位置和大小
left1, top1, right1, bottom1 = win32gui.GetClientRect(hwnd1)
left2, top2, right2, bottom2 = win32gui.GetClientRect(hwnd2)
input1 = win32gui.GetDlgItem(hwnd1, win32con.IDC_EDIT1) # 输入框控件ID
input2 = win32gui.GetDlgItem(hwnd2, win32con.IDC_EDIT2)
# 切换窗口并输入
win32gui.SetForegroundWindow(hwnd1)
win32gui.SendMessage(input1, win32con.WM_CHAR, 'a', 0)
win32gui.SetForegroundWindow(hwnd2)
win32gui.SendMessage(input2, win32con.WM_CHAR, 'b', 0)
重复切换并输入其他字符...
这段代码演示了如何通过切换窗口获取输入焦点并模拟键入,实现在两个窗口之间同时控制输入。