PYTHON鼠标事件

'''
Created on 2011-11-6

@author: admin
'''
import subprocess
import win32ui,win32con,pythoncom,win32gui,win32process,win32api
import time
import string

def click(handle, pos):
    client_pos = win32gui.ScreenToClient(handle, pos)
    tmp = win32api.MAKELONG(client_pos[0], client_pos[1])
    win32gui.SendMessage(handle, win32con.WM_ACTIVATE, win32con.WA_ACTIVE, 0)
    win32api.SendMessage(handle, win32con.WM_LBUTTONDOWN, win32con.MK_LBUTTON, tmp)
    win32api.SendMessage(handle, win32con.WM_LBUTTONUP, win32con.MK_LBUTTON, tmp)

def get_curpos():
    return win32gui.GetCursorPos()

def get_win_handle(pos):
    return win32gui.WindowFromPoint(pos)

def get_color(pos):
    hdc_screen = win32gui.CreateDC("DISPLAY", "", None)
    hmem_dc = win32gui.CreateCompatibleDC(hdc_screen)
    h_bitmap = win32gui.CreateCompatibleBitmap(hdc_screen, 1, 1)
    h_old_bitmap = win32gui.SelectObject(hmem_dc, h_bitmap)
    win32gui.BitBlt(hmem_dc, 0, 0, 1, 1, hdc_screen, pos[0], pos[1], win32con.SRCCOPY)
    win32gui.DeleteDC(hdc_screen)
    win32gui.DeleteDC(hmem_dc)
    x = win32ui.CreateBitmapFromHandle(h_bitmap)
    bits = x.GetBitmapBits(True)   

def main():
    print "Starting"
    while True:
        time.sleep(60*6)
        click(get_win_handle(get_curpos()),get_curpos())
if __name__ == '__main__':
    main()
Python中可以使用PyAutoGUI库来处理鼠标事件。PyAutoGUI是一个用于实现自动化GUI操作的Python库,它可以模拟鼠标移动、点击、拖拽等操作。 下面是一些常见的鼠标事件函数: 1. 鼠标移动: - `moveTo(x, y)`: 将鼠标移动到指定的坐标位置(x, y)。 - `moveRel(xOffset, yOffset)`: 将鼠标相对当前位置移动指定的偏移量(xOffset, yOffset)。 2. 鼠标点击: - `click(x, y, button="left")`: 在指定的坐标位置(x, y)进行鼠标点击操作,默认为左键点击。 - `rightClick(x, y)`: 在指定的坐标位置(x, y)进行右键点击操作。 - `middleClick(x, y)`: 在指定的坐标位置(x, y)进行中键点击操作。 3. 鼠标拖拽: - `dragTo(x, y, duration=0.5)`: 从当前位置拖拽鼠标到指定的坐标位置(x, y),可设置拖拽持续时间。 - `dragRel(xOffset, yOffset, duration=0.5)`: 从当前位置相对移动指定的偏移量(xOffset, yOffset),可设置拖拽持续时间。 4. 其他操作: - `scroll(amount)`: 滚动鼠标滚轮,正值向上滚动,负值向下滚动。 - `position()`: 返回当前鼠标位置的坐标(x, y)。 下面是一个示例代码,展示如何使用PyAutoGUI库进行鼠标事件的处理: ```python import pyautogui # 鼠标移动到指定位置 pyautogui.moveTo(100, 100) # 在指定位置进行左键点击 pyautogui.click(100, 100) # 从当前位置拖拽鼠标到指定位置 pyautogui.dragTo(200, 200, duration=0.5) # 滚动鼠标滚轮 pyautogui.scroll(1) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值