滑鼠持續點選

2022-03-06 23:18:35 字數 2677 閱讀 7588

最近玩一款老遊戲, 裡面開箱子太麻煩了, 一直手動點, 朋友讓我試著寫乙個指令碼。 就搜了下, 挺好實現的, 就試著寫出來了。

修改下 也可以做些其他重複的事情。  

其實就是乙個x鍵精靈的事情

我的系統是 win7 64, python34

用到了pyhooked,pypiwin32

pyhook我一直安不上,就用的pyhooked,win32,可以直接用pip install pypiwin32安裝。

from pyhooked import hook, keyboardevent, mouseevent

import win32gui, win32con, win32api

import time

from ctypes import *

import threading

def mouse_click(x=none, y=none):

if not x is none and not y is none:

mouse_move(x, y)

time.sleep(0.05)

win32api.mouse_event(win32con.mouseeventf_leftdown, 0, 0, 0, 0)

win32api.mouse_event(win32con.mouseeventf_leftup, 0, 0, 0, 0)

def mouse_dclick(x=none, y=none):

if not x is none and not y is none:

mouse_move(x, y)

time.sleep(0.05)

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)

def mouse_move(x, y):

windll.user32.setcursorpos(x, y)

class mythread(threading.thread):

def __init__(self, timesleep=0.15):

super(mythread, self).__init__()

self.stopped = false

self.timesleep = timesleep

def run(self):

print('啟動')

x, y = win32gui.getcursorpos()

count = 0

while not self.stopped:

count += 1

mouse_click(x, y)

time.sleep(self.timesleep)

print('本次點選了%s次' % count)

def stop(self):

self.stopped = true

print('停止')

def isstopped(self):

return self.stopped

class myhook(hook):

def __init__(self):

hook.__init__(self)

self.open = false

self.thread = none

def handle_events(self, args):

if isinstance(args, keyboardevent) and not self.open and args.current_key == 'f2' and args.event_type == 'key down':

self.thread = mythread()

self.thread.start()

self.open = true

elif isinstance(args,keyboardevent) and self.open and args.current_key == 'f2' and args.event_type == 'key down':

self.open = false

self.thread.stop()

time.sleep(1)

if __name__ == '__main__':

print('f2啟動,再次f2關閉,啟動時請不要移動滑鼠')

參考 :

滑鼠劃過點選事件

mouseover事件於使用者把滑鼠從乙個元素移動到另外乙個元素上時觸發,mouseout事件於使用者把滑鼠移出bai乙個元素時觸發。下面為你詳細介紹下jquery中的滑鼠事件 1 click事件 click事件於使用者在元素敲擊滑鼠左鍵,並在相同元素上鬆開左鍵時觸發 p click functio...

獲取滑鼠點選事件

設定觸控模式 node settouchmode cc.touch mode one by one 單點觸控 或者 node settouchmode cc.touch mode all at once 多點觸控 是否啟用觸控 預設值 false node settouchenabled true ...

模擬滑鼠點選事件

今天上12306購票,可被氣得不輕,首先登陸人數受到了限制,其次買到票還有個排隊等待神馬的,先不說裡頭有沒有貓膩,電腦直接操作的,需要等待30分鐘以上嗎?神馬查詢語言要執行30分鐘才能得到個結果出來?贊同網上的言論 相比較而言,之前的搶票更能接受一些 上面是tackbar,用於隨時調整點選的時間間隔...