Pyautogui 无法在 Roblox 中正确移动鼠标
Posted
技术标签:
【中文标题】Pyautogui 无法在 Roblox 中正确移动鼠标【英文标题】:Pyautogui not properly moving the mouse in Roblox 【发布时间】:2021-11-03 21:28:52 【问题描述】:我正在用 python 编写代码来帮助我在 Roblox 游戏中完成一些事情。我不会详细介绍,但基本上,目标是自动单击屏幕中的某些点。为了尝试实现这一点,我正在使用 pyautogui.click()。因此,例如,如果我需要点击的点是 (300, 500),我会执行 pyautogui.click(300, 500)
在 Roblox 之外,pyautogui 工作得很好。但是,每当我打开 Roblox 并使用命令时,它就无法正常工作。因此,假设鼠标从 (0, 0) 开始,我在 (300, 500) 处激活了一次点击。发生这种情况时,鼠标光标不会移动,并且单击发生在鼠标最初所在的 (0, 0) 处。然而,只要我稍微移动我的实际鼠标,鼠标光标就会传送回它应该在的位置 (300, 500)。
这使我无法做我想做的事,因为我希望程序在某些点上单击而无需移动我的实际物理鼠标。有谁知道我如何使用 python 来正确移动鼠标?
【问题讨论】:
【参考方案1】:你必须使用 win32api 和 win32con 来移动和点击鼠标,因为 pyautogui 有时很慢,所以我使用 win32api 代替。
这是我使用的代码。
from pyautogui import *
import pyautogui
import time
import win32api, win32con
def click(x,y):
win32api.SetCursorPos((x,y))
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN,0,0)
time.sleep(0.1) #uses time api, to simulate normal input.
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP,0,0)
【讨论】:
这仍然导致同样的问题。虽然它可以很好地移动普通鼠标,但它不会与 Roblox 鼠标同步,除非我稍微移动我的物理鼠标。以上是关于Pyautogui 无法在 Roblox 中正确移动鼠标的主要内容,如果未能解决你的问题,请参考以下文章