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 中正确移动鼠标的主要内容,如果未能解决你的问题,请参考以下文章

pyautogui无法输入中文

Roblox 商店未显示

Roblox:我怎样才能让这个脚本正常工作?

Python无法使用PyAutoGui补间将鼠标作为函数中的随机值移动

无法将项目添加到 Roblox 表

无法在 ROBLOX Lua 中解析 JSON