b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

怎么用VBS获取鼠标指针的坐标位置?(组图)

电脑杂谈  发布时间:2021-02-08 21:02:48  来源:网络整理

链接:

版权:此博客中的所有文章均符合“以2.5中国大陆相同的方式归因-非商业用途-共享”协议的条款。

有多个人问我如何使用VBS控制鼠标操作,例如:如何使用VBS获取鼠标指针的坐标位置?如何用VBS移动鼠标?如何使用VBS模拟鼠标的左键单击,左键单击和右键单击? ...

python控制鼠标点击_vb控制鼠标点击_vbs控制鼠标点击

在Internet上找到的答案通常是无法实现VBS,或者需要第三方COM(ActiveX?)组件。我对第三方组件感到非常厌恶。没有使用第三方组件的可移植性,因为此组件可能未在其他人的系统中注册。我的建议是尽量不要在VBS代码中调用第三方组件,除非您编写的程序仅供您自己使用。 (顺便说一下,尽量不要使用不可靠的Sendkeys方法,原因没有解释)

好吧,那么废话,现在让我们来谈谈用VBS控制鼠标的方法。我写了一篇名为“ VBS调用Windows API函数”的文章。我以为既然可以调用API,那么用VBS控制鼠标并不容易吗?原来我错了。不知道真相的同学将永远是大多数,并且有许多不知道API是什么的VBSer。如果他们不发布真实的代码,他们将不会自己编写代码!

使用此代码的前提是您的系统上已安装Excel,因为使用了Excel.Application对象(如果您想认为这是第三方组件,我无话可说):

vb控制鼠标点击_vbs控制鼠标点击_python控制鼠标点击

Option Explicit
Dim WshShell
Dim oExcel, oBook, oModule
Dim strRegKey, strCode, x, y
Set oExcel = CreateObject("Excel.Application") '创建 Excel 对象
set WshShell = CreateObject("wscript.Shell")
strRegKey = "HKEY_CURRENT_USER\Software\Microsoft\Office\$\Excel\Security\AccessVBOM"
strRegKey = Replace(strRegKey, "$", oExcel.Version)
WshShell.RegWrite strRegKey, 1, "REG_DWORD"
Set oBook = oExcel.Workbooks.Add '添加工作簿
Set oModule = obook.VBProject.VBComponents.Add(1) '添加模块
strCode = _
"'Author: Demon"            & vbCrLf & _
"'Website: http://demon.tw" & vbCrLf & _
"'Date: 2011/5/10"          & vbCrLf & _
"Private Type POINTAPI : X As Long : Y As Long : End Type"                                                                                                                            & vbCrLf & _
"Private Declare Function SetCursorPos Lib ""user32"" (ByVal x As Long, ByVal y As Long) As Long"                                                                                     & vbCrLf & _
"Private Declare Function GetCursorPos Lib ""user32"" (lpPoint As POINTAPI) As Long"                                                                                                  & vbCrLf & _
"Private Declare Sub mouse_event Lib ""user32"" Alias ""mouse_event"" (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long)" & vbCrLf & _
"Public Function GetXCursorPos() As Long"                                                                                                                                             & vbCrLf & _
    "Dim pt As POINTAPI : GetCursorPos pt : GetXCursorPos = pt.X"                                                                                                                     & vbCrLf & _
"End Function"                                                                                                                                                                        & vbCrLf & _
"Public Function GetYCursorPos() As Long"                                                                                                                                             & vbCrLf & _
    "Dim pt As POINTAPI: GetCursorPos pt : GetYCursorPos = pt.Y"                                                                                                                      & vbCrLf & _
"End Function"
oModule.CodeModule.AddFromString strCode '在模块中添加 VBA 代码
'Author: Demon
'Website: http://demon.tw
'Date: 2011/5/10
x = oExcel.Run("GetXCursorPos") '获取鼠标 X 坐标
y = oExcel.Run("GetYCursorPos") '获取鼠标 Y 坐标
WScript.Echo x, y
oExcel.Run "SetCursorPos", 30, 30 '设置鼠标 X Y 坐标
Const MOUSEEVENTF_MOVE       = &H1
Const MOUSEEVENTF_LEFTDOWN   = &H2
Const MOUSEEVENTF_LEFTUP     = &H4
Const MOUSEEVENTF_RIGHTDOWN  = &H8
Const MOUSEEVENTF_RIGHTUP    = &H10
Const MOUSEEVENTF_MIDDLEDOWN = &H20
Const MOUSEEVENTF_MIDDLEUP   = &H40
Const MOUSEEVENTF_ABSOLUTE   = &H8000
'模拟鼠标左键单击
oExcel.Run "mouse_event", MOUSEEVENTF_LEFTDOWN + MOUSEEVENTF_LEFTUP, 0, 0, 0, 0
'模拟鼠标左键双击(即快速的两次单击)
oExcel.Run "mouse_event", MOUSEEVENTF_LEFTDOWN + MOUSEEVENTF_LEFTUP, 0, 0, 0, 0
oExcel.Run "mouse_event", MOUSEEVENTF_LEFTDOWN + MOUSEEVENTF_LEFTUP, 0, 0, 0, 0
'模拟鼠标右键单击
oExcel.Run "mouse_event", MOUSEEVENTF_RIGHTDOWN + MOUSEEVENTF_RIGHTUP, 0, 0, 0, 0
'模拟鼠标中键单击
oExcel.Run "mouse_event", MOUSEEVENTF_MIDDLEDOWN + MOUSEEVENTF_MIDDLEUP, 0, 0, 0, 0
'关闭 Excel
oExcel.DisplayAlerts = False
oBook.Close
oExcel.Quit

评论足够详细,您知道,我很少写评论。如果您仍然不了解,则需要提高您的水平!

相关文章:

vbs控制鼠标点击_python控制鼠标点击_vb控制鼠标点击

VBS在Windows API函数Workbooks.Open中调用相对路径。 VBS模拟POST来上传文件。 VBS中没有vbHide常数。使用VBS实现繁体中文和简体中文之间的转换

随机文章:

Windows 7在桌面批处理技术内幕程序:IF命令中创建宽带连接快捷方式:MySQL Unicode支持批处理技术内幕程序:ECHO命令

本文于2011年5月10日星期二15:46发布,归类于“编程”。您可以通过RSS 2.0feed关注本文的评论。您可以,也可以从您的站点进行引用。


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/bofangqi/article-355061-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      热点图片
      拼命载入中...