windows模拟鼠标点击相应按键(可后台运行)

import win32gui
import win32api
import win32con
import time


def LeftClick():
    # FindWindow(类名, 窗口名)
    handle0 = win32gui.FindWindow(None, "SenseRover Mini刷机工具")
    # 将窗口从任务栏处显示出来,句柄是父级窗口,需要每次都最小化到任务栏才可进行下一次
    # win32gui.ShowWindow(handle0, win32con.SW_RESTORE)
    # 强制将窗口调到最前
    win32gui.SetForegroundWindow(handle0)

    # 激活父级窗口,其实是可以省略这一步的,SetForgroundWindow(HWND hwnd)就有激活的作用
    win32gui.SetActiveWindow(handle0)
    # 我也不明白在此处用BM_CLICK、为什么不可以单击,必须要用mouse_event
    """
    handle1 = win32gui.FindWindowEx(handle0, None, None, None)
    #win32gui.SendMessage(win32gui.FindWindowEx(handle1, None, None, None), win32con.BM_CLICK, 0, 0)
    win32gui.SendMessage(win32gui.FindWindowEx(handle1, None, None, None), win32con.WM_LBUTTONDOWN, win32con.MK_LBUTTON, (25 << 16 | 26))
    win32gui.SendMessage(win32gui.FindWindowEx(handle1, None, None, None), win32con.WM_LBUTTONUP, win32con.MK_LBUTTON, (25<<16|26))
    """
    # 设置鼠标位置
    win32api.SetCursorPos([526, 301])
    # 鼠标左键down|up,x偏移量,y偏移量(鼠标左键单击)
    win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN|win32con.MOUSEEVENTF_LEFTUP, 0, 0)

    time.sleep(30)

    # FindWindowEx(父柄,None,None,None)寻找父柄之后的第一个子柄
    # 此处用BM_CLICK没问题
    handle2 = win32gui.FindWindowEx(win32gui.FindWindow(None, "提示"), None, None, None)
    win32gui.SendMessage(handle2, win32con.BM_CLICK, 0, 0)
    # 尝试使用LBUTTONDOWN/UP也可以实现单击,(22<<16|34)是按键中间相对于按键左上角的坐标,34是x,22是y
    # win32gui.SendMessage(handle2, win32con.WM_LBUTTONDOWN, win32con.MK_LBUTTON, (22<<16|34))
    # win32gui.SendMessage(handle2, win32con.WM_LBUTTONUP, win32con.MK_LBUTTON, (22<<16|34))


for i in range(10000):
    print("开始第%d次烧录" % (i+1))
    LeftClick()
    print("第%d次烧录完成" % (i+1))




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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值