pywin32学习与基本操作记录---后台程序自动化操作

一、安装

# 自己配置清华镜像,不然太慢了
pip install win32api

二、demo消息

import win32api
import win32con
win32api.MessageBox(None,"Hello,pywin32!","pywin32",win32con.MB_OK)

在这里插入图片描述

三、实例(操作记事本、鼠标)

  • 先新建一个cs123.txt,这个需要我们cs123.txt启动的情况下(在后台)才能用
import win32gui
import win32con
import win32api
win = win32gui.FindWindow(None, "cs123.txt - 记事本")

# 获取子窗体(记事本内部的编辑区域)
edit = win32gui.FindWindowEx(win,None,'Edit',None)
# 输入文本
win32gui.SendMessage(edit, win32con.WM_SETTEXT, None, 'Hello World!')
# 回车 win32con.WM_KEYDOWN按键-----VK_XXX这里是return所以是回车键
win32gui.PostMessage(edit,win32con.WM_KEYDOWN,win32con.VK_RETURN,0)
# 设置指定窗口的显示状态。
win32gui.ShowWindow(win, win32con.SW_SHOW)
# 设置为最前窗口
win32gui.SetForegroundWindow(win)
# 设置鼠标位置
win32api.SetCursorPos((5, 1050))
# 左单键击
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP | win32con.MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)
# 关闭窗口
# win32gui.PostMessage(win32gui.FindWindow('Notepad', None), win32con.WM_CLOSE, 0, 0)

print(win)
print(edit)

这里的"cs123.txt - 记事本"是须要的,桌面只是到txt
在这里插入图片描述

  • ==我们一般又该如何知道句柄呢?==下载spy++启动,然后f5
    在这里插入图片描述
  • 看到上面的查看程序工具后面这个图标按钮,通过它去找到我们指定的程序
  • 放在内部是编辑的句柄在这里插入图片描述
  • 外部框才是我们需要的
    在这里插入图片描述

如果获取浏览器,只能获取到当前页面的句柄、

四、鼠标键盘

  • Win32con函数一般作为win32gui win32api的参数调用

KEYEVENTF_KEYUP:按键松开
MOUSEEVENTF_XXXXXX:鼠标对应的操作
VK_XXXXXX:键盘按键操作,后跟键名称(如VK_TAB

键盘按键

  • win32api.keybd_event键盘事件

鼠标基本操作

  • win32api.mouse_event键盘事件
# 获取鼠标当前位置的坐标
cursor_pos = win32api.GetCursorPos()
# 将鼠标移动到坐标(x,y)处
win32api.SetCursorPos((x, y))
# 左单键击
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP | win32con.MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)
# 右键单击
win32api.mouse_event(win32con.MOUSEEVENTF_RIGHTUP | win32con.MOUSEEVENTF_RIGHTDOWN, 0, 0, 0, 0)
# 鼠标左键按下-放开
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)
# 鼠标右键按下-放开
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)

代码放置在gitee,仓库地址:https://gitee.com/lwstudy/my-py

  • 0
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值