python2 监听模拟鼠标键盘事件

提示,请在使用前自动装上pymouse,pyhook,pythoncom

直接贴代码吧

# -*- coding:utf-8 -*-
import os
import time
import threading
import pyHook
import  pythoncom
from pymouse import PyMouse
m = PyMouse() #创建一个鼠标对象
x=0 #设置鼠标的X
y=0 #设置y值
suo=False  #判断是否锁定了
#这个函数是实现鼠标锁定,emmm,好吧,其实是我想写一个FPS游戏辅助,锁定鼠标,不让枪飘
def suoding(x,y):
  global suo,m
  x=1
  while(suo):
    time.sleep(0.01)#时间暂定为0.01s,高频率保证鼠标不动
    #m.move(x,y)#这个是实现鼠标固定
    print (x,y)#这个只是测试,如果真要实现固定功能,那就。。。把这行删了吧
#这个是键盘事件,键盘x,作为控制开关
def onKeyboardEvent(event):
    global suo
    c = chr(event.Ascii)
    print c
    if(c=='x'):
      if suo:
        suo=False
      else:
        suo=True
    return True
#鼠标事件
def OnMouseEvent(event):
  #513 左键按下
  #514左键按上
  #516右键按下
  #517右键按上
  global x,y,m
  if(suo):
    if(event.Message==513):
          (x, y) = m.position()
          thread1 = threading.Thread(target=suoding,args=(x,y,))#建个线程,不过我还没用上锁。。。感觉加个锁会好一点
          print "我开始了"
          thread1.start()
  # 返回 True 可将事件传给其它处理程序,否则停止传播事件
  return True
# 创建钩子管理对象
hm = pyHook.HookManager()
# 监听所有鼠标事件
hm.MouseAll = OnMouseEvent  # 等效于hm.SubscribeMouseAll(OnMouseEvent)
# 开始监听鼠标事件
hm.HookMouse()
hm.KeyDown = onKeyboardEvent
hm.HookKeyboard()
# 一直监听,直到手动退出程序xxx
pythoncom.PumpMessages()

你可能感兴趣的:(python,鼠标键盘事件,python)