留言不会发送点击

问题描述 投票:0回答:1

几个月来一直在尝试在不移动鼠标的情况下获得点击

为什么这不起作用?

就像这个点击没有注册一样,我完全不知所措

import win32gui
import win32api
import win32con
import time
from win32gui import GetWindowText, GetForegroundWindow


def control_click(x, y, handle, button='left'):

    l_param = win32api.MAKELONG(x, y)

    if button == 'left':
        win32gui.PostMessage(handle, win32con.WM_LBUTTONDOWN, win32con.MK_LBUTTON, l_param)
        win32gui.PostMessage(handle, win32con.WM_LBUTTONUP, win32con.MK_LBUTTON, l_param)

    elif button == 'right':
        win32gui.PostMessage(handle, win32con.WM_RBUTTONDOWN, 0, l_param)
        win32gui.PostMessage(handle, win32con.WM_RBUTTONUP, 0, l_param)
        

print(GetWindowText(GetForegroundWindow()))
time.sleep(2)
h = GetForegroundWindow()
time.sleep(1)
print("click")
control_click(264, 74, h)
time.sleep(10)
python
1个回答
0
投票

您的

control_click
函数定义不正确:它应该模拟给定坐标处的鼠标单击:

import win32gui
import win32api
import win32con
import time
from win32gui import GetWindowText, GetForegroundWindow

def control_click(x, y, handle, button='left'):
    win32api.SetCursorPos((x, y))
    if button == 'left':
        win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, x, y, 0, 0)
        win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, x, y, 0, 0)
    elif button == 'right':
        win32api.mouse_event(win32con.MOUSEEVENTF_RIGHTDOWN, x, y, 0, 0)
        win32api.mouse_event(win32con.MOUSEEVENTF_RIGHTUP, x, y, 0, 0)
print(GetWindowText(GetForegroundWindow()))
time.sleep(2)
h = GetForegroundWindow()
time.sleep(1)
print("click")
control_click(264, 74, h)
time.sleep(10)

现在,

control_click
首先使用
win32api.SetCursorPos
将光标移动到指定的坐标,然后根据参数输入模拟鼠标单击这些坐标,它将相应地模拟向左或向右。

© www.soinside.com 2019 - 2024. All rights reserved.