如何制作在Windows10中执行鼠标点击的python脚本?

如何制作在Windows10中执行鼠标点击的python脚本?,python,windows,click,mouseevent,mouse,Python,Windows,Click,Mouseevent,Mouse,我正在尝试一个简单的python脚本,它单击屏幕坐标 我试过使用Pyautogui、pynput、pydirectinput、pywinauto。。。但是没有一个是真正的点击,唯一有效的方法是将鼠标移动到坐标上 脚本很简单,但仍然不起作用,根据推论,我认为这是一个与win10相关的问题 有人知道我怎么解决这个问题吗 我还需要安装其他东西吗,也许是驱动程序 是否缺少某种许可 有没有一种方法可以让我命令鼠标硬件进行点击,而不是虚拟化的点击 下面是我的一些尝试 OBS:在所有尝试中,鼠标都会移动,但不

我正在尝试一个简单的python脚本,它单击屏幕坐标

我试过使用Pyautogui、pynput、pydirectinput、pywinauto。。。但是没有一个是真正的点击,唯一有效的方法是将鼠标移动到坐标上

脚本很简单,但仍然不起作用,根据推论,我认为这是一个与win10相关的问题

有人知道我怎么解决这个问题吗

我还需要安装其他东西吗,也许是驱动程序

是否缺少某种许可

有没有一种方法可以让我命令鼠标硬件进行点击,而不是虚拟化的点击

下面是我的一些尝试

OBS:在所有尝试中,鼠标都会移动,但不会单击

Pyautogui:

Pydirectinput:

pywinauto:

直接windows单击:

使用pynput的自动单击器:

试着这样做:

import pywinauto
app = pywinauto.Application().connect(path='your_process_name.exe')
app.MainDialog.click_input(coords=(x, y))
要使用“单击方法”,您需要指定坐标所在的进程/对话框。
使用connect()方法连接到现有方法,否则使用start()打开新实例。

单击是否仅在某些软件(如游戏)中无效?如果是这样的话,游戏可能会使用原始的鼠标硬件输入,因此会绕过通过此方法完成的编程点击。或者,它在任何地方都不起作用吗?是的,我的重点是点击一个游戏。但他并没有点击任何东西,甚至在我设法让他点击的vsCode测试中也并没有!有像Blue Eye Macro这样的软件可以点击任何应用程序。但我不能相信。有什么方法可以让我点击鼠标硬件吗?你说的“他”是指什么人?我不知道你在说什么。你是说这个脚本不会导致点击在VSCode中注册吗?但是应用程序“Blue Eye Macro”对VSCode和游戏都有效?对不起,“他”是脚本哈哈。我试着点击一切。vsCode、谷歌Chrome、记事本,但在任何方面都不起作用。也许可以尝试一下ctypes:很好用!谢谢
import pyautogui
import pydirectinput
pydirectinput.moveTo(35, 240)
pydirectinput.click()
import pywinauto
from pywinauto import Desktop, Application, mouse, findwindows

pywinauto.mouse.move(coords=(160, 400))
pywinauto.mouse.double_click(button='left', coords=(160, 400))
import win32api, win32con
def click(x,y):
    win32api.SetCursorPos((x,y))
    win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN,x,y,0,0)
    win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP,x,y,0,0)
click(10,200)
import time
import threading
from pynput.mouse import Button, Controller
from pynput.keyboard import Listener, KeyCode


delay = 0.001
button = Button.left
start_stop_key = KeyCode(char='s')
exit_key = KeyCode(char='e')


class ClickMouse(threading.Thread):
    def __init__(self, delay, button):
        super(ClickMouse, self).__init__()
        self.delay = delay
        self.button = button
        self.running = False
        self.program_running = True

    def start_clicking(self):
        self.running = True

    def stop_clicking(self):
        self.running = False

    def exit(self):
        self.stop_clicking()
        self.program_running = False

    def run(self):
        while self.program_running:
            while self.running:
                mouse.click(self.button)
                time.sleep(self.delay)
            time.sleep(0.1)


mouse = Controller()
click_thread = ClickMouse(delay, button)
click_thread.start()


def on_press(key):
    if key == start_stop_key:
        if click_thread.running:
            click_thread.stop_clicking()
        else:
            click_thread.start_clicking()
    elif key == exit_key:
        click_thread.exit()
        listener.stop()


with Listener(on_press=on_press) as listener:
    listener.join()
import pywinauto
app = pywinauto.Application().connect(path='your_process_name.exe')
app.MainDialog.click_input(coords=(x, y))