运行注意事项:
- 可能会受到版本影响, 导致文字发出去乱码 建议使用 unicode 发送
- 运行脚本环境 Python 2.8
- 会存在找不到窗口句柄的情况 所以最好将 对话框放在桌面最上层
- 关于鼠标事件,需要确定坐标, 如果不知道坐标可以把坐标悬停在qq对话框的输入区域
MOUSEEVENTF_LEFTDOWN-------------鼠标左键按下
MOUSEEVENTF_LEFTUP------------------鼠标左键弹起
MOUSEEVENTF_RIGHTDOWN-------------鼠标右键按下
MOUSEEVENTF_RIGHTUP-------------------鼠标右键弹起
MOUSEEVENTF_MIDDLEDOWN----------鼠标中键按下
MOUSEEVENTF_MIDDLEUP----------------鼠标中键弹起
MOUSEEVENTF_MOVE-----------------------移动鼠标
MOUSEEVENTF_ABSOLUTE---------------绝对坐标
MOUSEEVENTF_WHEEL---------------------滚轮滚动
class QQMessageSend:
def send_message(self, msg):
# 窗口名字,就是备注名
name = u"我的iPhone"
# 将测试消息复制到剪切板中
w.OpenClipboard()
w.EmptyClipboard()
w.SetClipboardData(win32con.CF_UNICODETEXT, msg)
w.CloseClipboard()
# 获取窗口句柄
handle = win32gui.FindWindow(None, name)
# 点击输入框
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, 0, 0)
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, 0, 0)
if handle:
# 填充消息
win32gui.SendMessage(handle, 770, 0, 0)
# 回车发送消息
win32gui.SendMessage(handle, win32con.WM_KEYDOWN, win32con.VK_RETURN, 0)