[英]can't move mouse on Roblox
我為此嘗試了兩個不同的庫,但遇到了同樣的問題。
pyautogui.moveTo(100,100)
pydirectinput.moveTo(100,100)
該代碼在 Roblox 之外運行良好,但是每當我使用 Roblox 作為活動窗口運行它時,我都必須稍微移動鼠標讓 python 移動到我想要的位置
我不會質疑你的動機......
import ctypes
from ctypes.wintypes import DWORD, WORD
from math import floor
emptyLong = ctypes.c_ulong()
class MouseInput(ctypes.Structure):
_fields_ = [("dx", ctypes.c_long),
("dy", ctypes.c_long),
("mouseData", DWORD),
("dwFlags", DWORD),
("time", DWORD),
("dwExtraInfo", ctypes.POINTER(ctypes.c_ulong))]
class KeybdInput(ctypes.Structure):
_fields_ = [("wVk", WORD),
("wScan", WORD),
("dwFlags", DWORD),
("time", DWORD),
("dwExtraInfo", ctypes.POINTER(ctypes.c_ulong))]
class HardwareInput(ctypes.Structure):
_fields_ = [("uMsg", DWORD),
("wParamL", WORD),
("wParamH", WORD)]
class InputList(ctypes.Union):
_fields_ = [
("mi", MouseInput),
("ki", KeybdInput),
("hi", HardwareInput)]
class Input(ctypes.Structure):
_fields_ = [("type", ctypes.c_ulong),
("inputList", InputList)]
MOUSEEVENTF_MOVE = 0x0001
MOUSEEVENTF_ABSOLUTE = 0x8000
def move(x, y, relative=False): # MOVE MOUSE TO (X, Y)
mouseFlag = MOUSEEVENTF_MOVE
if not relative:
mouseFlag |= MOUSEEVENTF_ABSOLUTE
x = floor(x/1920 * 65535) # ASSUMING COORDINATES ARE BASED ON 1920 x 1080 RESOLUTION
y = floor(y/1080 * 65535)
inputList = InputList()
inputList.mi = MouseInput(x, y, 0, mouseFlag, 0, ctypes.pointer(emptyLong))
windowsInput = Input(emptyLong, inputList)
ctypes.windll.user32.SendInput(1, ctypes.pointer(windowsInput), ctypes.sizeof(windowsInput))
只是一點點 C. 了解更多
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.