gpt4 book ai didi

vbscript - VBS发送鼠标点击?

转载 作者:行者123 更新时间:2023-12-04 13:39:15 25 4
gpt4 key购买 nike

我需要从 VBS 发送鼠标点击。像 SendKeys。我已经搜索了整个谷歌,VBS似乎没有这样的功能。你能给我一些解决方案吗?

最佳答案

这是在 VBA for Excel 中向窗口(使用相对引用)发送左键或右键单击的例程。与 AppActivate 类似,您只需要窗口标题。

调用 时的参数发送点击 常规是:

  • 窗口标题(字符串)
  • 按钮(1 = 左,2 = 右,-1 = 仅移动鼠标;不可点击)
  • x(相对于窗口左侧的位置)
  • y(相对于窗口顶部的位置)

  • 享受!
    'Declare mouse events
    Public Declare Function SetCursorPos Lib "user32" (ByVal x As Long, ByVal y As Long) As Long
    Public Declare Sub mouse_event Lib "user32" (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long)
    Public Const MOUSEEVENTF_LEFTDOWN = &H2
    Public Const MOUSEEVENTF_LEFTUP = &H4
    Public Const MOUSEEVENTF_RIGHTDOWN As Long = &H8
    Public Const MOUSEEVENTF_RIGHTUP As Long = &H10
    'Declare sleep
    Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

    ' Window location
    Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
    Public Declare Function GetWindowRect Lib "user32" (ByVal hWnd As Long, lpRect As RECT) As Long
    Type RECT
    Left As Long
    Top As Long
    Right As Long
    Bottom As Long
    End Type

    Public Function WindowHandle(ByVal sTitle As String) As Long
    WindowHandle = FindWindow(vbNullString, sTitle)
    End Function

    Public Sub SendClick(sWnd As String, b As Integer, x As Long, y As Long)
    Dim pWnd As Long, pRec As RECT

    pWnd = WindowHandle(sWnd)
    GetWindowRect pWnd, pRec

    SetCursorPos pRec.Left + x, pRec.Top + y
    Sleep 50
    If b = 2 Then
    mouse_event MOUSEEVENTF_RIGHTDOWN, 0, 0, 0, 0
    Sleep 50
    mouse_event MOUSEEVENTF_RIGHTUP, 0, 0, 0, 0
    ElseIf b <> -1 Then
    mouse_event MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0
    Sleep 50
    mouse_event MOUSEEVENTF_LEFTUP, 0, 0, 0, 0
    End If
    End Sub

    关于vbscript - VBS发送鼠标点击?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36310246/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com