python - 鼠标拖动并使用 pynput 切换
问题描述
我正在努力做到这一点,所以当按住鼠标左键时,鼠标会向下移动。我能够让它工作,但我似乎无法获得一个按钮来打开和关闭。(注意:鼠标必须一直向下移动,直到松开鼠标左键)
我认为我的全局变量和循环有问题。我已经研究了几个小时,但找不到解决方案。
我想实现 F8 键来打开和关闭。如果无法使用相同的键将 F7 切换为打开,F8 切换为关闭。
这是我当前的代码:
from pynput import mouse
from pynput.mouse import Button, Controller
import threading
import win32api, win32con
import time
running = False
print(running)
def process():
print('start')
while running:
win32api.mouse_event(win32con.MOUSEEVENTF_MOVE, -1, 2)
time.sleep(20 / 950)
print('stop')
def on_click(x, y, button, pressed):
global running # to assing value to global variable (instead of local variable)
if button == mouse.Button.left:
if pressed:
if not running:
running = True
threading.Thread(target=process).start()
else:
running = False
with mouse.Listener(on_click=on_click) as listener:
listener.join()
解决方案
推荐阅读
- pentaho - 如何在 Pentaho 8.0 CE 中实现这个特性?
- javascript - 如何通过ajax结合字符串发送表单数据?
- database - 如何在库存系统中处理数量/库存监控?
- android - Xamarin Forms、sqlite-net-pcl、Android 数据库文件位置
- c# - Ajax:从 asp.net mvc 中的数据库中删除记录而不重新加载页面
- java - 如何完全停止线程的执行
- ios - 将文本字段数除以 100 - swift iOS
- sql - 从sql表列中修剪前后的字符
- perl - perl 跳转到循环中的特定行
- webseal - 后端应用程序如何验证 webseal 标头?