python模拟键盘鼠标_Python记录以及模拟键盘鼠标事情

# -*- coding: utf-8 -*- #

'''

模块功能:

截取电脑的按键操作和鼠标操作,保存为文件形式

按下键盘的Scroll键保存缓存中的数据,终止记录时可以用这样的操作来保存完整的数据

'''

import

pythoncom

import

pyHook

import

sys

import

datetime

# make a copy of original stdout route

stdout_backup = sys.stdout

# define the log file that receives your log info

str_now = datetime.datetime.now().strftime("%Y%m%d-%H%M%S")

log_filename = 'msg' + str_now + '.log'

log_file = open(log_filename, "w")

# redirect print output to log file

sys.stdout = log_file

key_value = 0

def

onMouseEvent(event):

'''

Message ID:

513 - mouse left down

514 - mouse left up

516 - mouse right down

517 - mouse right up

519 - mouse middle down

520 - mouse middle up

522 - mouse wheel

输出格式: [事件ID ,发生的时间,坐标x ,坐标y ,滚轮值]

其中滚轮值为[-1,0,1] ,当事件为鼠标滚轮时,值为1或-1,其他情况下均为0

'''

print

"%3d,%8d,%4d,%4d,%2d" % (event.Message, event.Time, event.Position[0],

event.Position[1], event.Wheel)

#返回True以便将事件传给其它处理程序

#注意,这儿如果返回False,则鼠标事件将被全部拦截

#也就是说你的鼠标看起来会僵在那儿,似乎失去响应了

return

True

def

onKeyboardEvent(event):

'''

Message ID:

256 - key down

257 - key up

输出格式: [事件ID ,发生的时间, ASCII , VK , EXTEND]

其中滚轮值为[-1,0,1] ,当事件为鼠标滚轮时,值为1或-1,其他情况下均为0

'''

print

"%3d,%8d,%3d,%3d,%d" % (event.Message, event.Time, event.Ascii,

event.KeyID, event.Extended)

if event.KeyID == 0x91:

log_file.flush()

#同鼠标事件监听函数的返回值

return

True

def

main():

#创建一个"钩子"管理对象

hm = pyHook.HookManager()

#监听所有键盘事件

hm.KeyDown = onKeyboardEvent

hm.KeyUp = onKeyboardEvent

#设置键盘"钩子"

hm.HookKeyboard()

#监听所有鼠标按键事件

hm.MouseAllButtons = onMouseEvent

hm.MouseWheel = onMouseEvent

# MouseWheel

#设置鼠标"钩子"

hm.HookMouse()

#进入循环,如不手动关闭,程序将一直处于监听状态

pythoncom.PumpMessages()

if __name__ == "__main__":

main()

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值