【发布时间】:2018-08-06 10:37:31
【问题描述】:
我正在创建一个脚本,如果用户按下 f7,它将开始记录鼠标点击,当他释放按钮时它应该停止,除非用户关闭程序,否则会发生这种情况。
尽管按下 f7,脚本仍打印“无”,而不是显示点击位置和“f7”,而是显示无。
在 on_press 函数中打印值时显示“f7”,但在 on_click 函数中单击鼠标按钮时显示“None”
这里是代码
from pynput import mouse, keyboard
from pynput.keyboard import Key, Listener
import pickle
x_pos = []
y_pos = []
both_pos = []
pressed_key = None
def on_press(key):
if (key==keyboard.Key.f7):
pressed_key = "f7"
else:
pressed_key = None
def on_release(key):
pass
def on_click(x, y, button, pressed):
if pressed:
#print ("{0} {1}".format(x,y))
print(pressed_key)
if pressed_key == "f7":
x_pos.append("{0}".format(x,y))
y_pos.append("{1}".format(x,y))
#print("test" + x_pos + y_pos)
print (x_pos + y_pos)
#both_pos = x_pos, y_pos
else:
pass
print (x_pos + y_pos)
mouse_listener = mouse.Listener(on_click=on_click)
mouse_listener.start()
with keyboard.Listener(on_press = on_press, on_release = on_release) as listener:
try:
#listener.start()
listener.join()
except MyException as e:
print('Done'.format(e.args[0]))
【问题讨论】:
标签: python python-3.x winapi pywin32 pyhook