我想首先说我是Python的新手,所以如果这个问题听起来很愚蠢,我很抱歉。
每当我按下鼠标左键时,我只是在寻找一种简单的触发功能的方法。 谁能说明我如何实现这一目标?非常感谢例子。
我的代码现在:
import win32api
import win32con
import time
from random import randint
import pythoncom, pyHook
def OnMouseEvent(event): #triggers mouseClick function
mouseClick(event)
return True
def mouseClick(event):
if event.MessageName == "mouse left up": # makes sure that's the event I'm looking for
a = True # disables hm.MouseAll
return a
time.sleep(0.01)
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)
time.sleep(0.005)
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)
time.sleep(0.01)
a = False # enables hm.MouseAll back
return a
a = False
# create a hook manager
hm = pyHook.HookManager()
# set the hook
hm.HookMouse()
# wait forever
pythoncom.PumpMessages()
# watch for all mouse events
while True:
if a == False:
hm.MouseAll = OnMouseEvent # Triggers OnMouseEvent function
else:
pass
答案 0 :(得分:1)
我的理解是你已经准备好了功能。我会使用Pygame包。
for event in pygame.event.get():
if event.type == pygame.MOUSEBUTTONDOWN and event.button == 1:
nameoffunction()
更改event.button == 1:
中的数字1将改变单击鼠标按钮的位置。
编辑1
run = 1
while run == 1:
if event.type == pygame.MOUSEBUTTONDOWN and event.button == 1:
print("Message")
PyGame需要一个窗口,所以如果你只想测试一下,我会用...
编辑2
if win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN,x,y,0,0):
print("Message")
x,y = x和y框角的起始坐标 0,0 =盒子的其他角落(我认为) 知道鼠标是否在“框”内,你点击它应该工作 (我没有安装win32api所以没有运行任何测试)