vbs怎么设置vbs 鼠标点击指定位置不到信息框中的按钮

用VBS控制鼠标的实现代码(获取鼠标坐标、鼠标移动、鼠标单击、鼠标双击)
编辑:www.fx114.net
本篇文章主要介绍了"用VBS控制鼠标的实现代码(获取鼠标坐标、鼠标移动、鼠标单击、鼠标双击) ",主要涉及到用VBS控制鼠标的实现代码(获取鼠标坐标、鼠标移动、鼠标单击、鼠标双击) 方面的内容,对于用VBS控制鼠标的实现代码(获取鼠标坐标、鼠标移动、鼠标单击、鼠标双击) 感兴趣的同学可以参考一下。
23:33 by MikeZhou, ... 阅读,
网上搜到的答案普遍是VBS无法实现,或者是要用第三方COM(ActiveX?)组件。我对第三方组件是很反感的,使用第三方组件毫无可移植性可言,因为别人的系统中不一定注册了这个组件。我的建议是,尽量不要在VBS代码中调用第三方组件,除非你的程序只是写来自己用。(顺便说一下,也尽量不要用不靠谱的Sendkeys方法,原因不解释) 好了,废话就说这么多,现在说说用VBS控制鼠标的方法。我以前写过一篇《VBS调用Windows
API函数》,本以为既然都能调用API了,用VBS控制鼠标还不是很简单是事?事实证明我错了,不明真相的同学永远是大多数,不知道API是什么的VBSer大有人在。不贴出实实在在的代码,他们根本不会自己写!
使用此代码的前提是你的系统上安装了Excel,因为要用到Excel.Application对象(如果你偏要认为这算第三方组件我也没话说):
代码如下:
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: " & 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
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
注释已经够详细了,要知道我很少写注释的,如果还看不懂,说明你的水平有待提高!
原文:http://demon.tw/programming/vbs-control-mouse.html&
一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家社会集体的和公民的合法权益,不得利用本站制作、复制和传播不法有害信息!
二、互相尊重,对自己的言论和行为负责。
本文标题:
本页链接:> 问题详情
关于Windows和,在“控制面板”中双击“鼠标”图标,在弹出的“鼠标属性”对话框中不可以设置鼠标()。A.左
悬赏:0&答案豆
提问人:匿名网友
发布时间:
关于Windows和,在“控制面板”中双击“鼠标”图标,在弹出的“鼠标属性”对话框中不可以设置鼠标()。A.左右手使用方式B.单击的速度C.双击的速度D.光标的形状
为您推荐的考试题库
您可能感兴趣的试题
1在Windows下,使用还原按钮将窗口恢复成原来的大小,仅仅适应于(&&)。A.横向扩大或缩小后的窗B.纵向扩大或缩小后的窗口C.最大化的窗口D.最小化的窗口2在Windows中,要安装打印机驱动程序,需要做下列(&&)操作。A.将打印机与主机连接好,重新启动Windows系统即可B.通过重新安装Windows系统设定C.利用“控制面板”下的“打印机”设定D.Windows系统中无须安装打印机驱动程序就可以打印3在Windows中,在“控制面板”中双击“显示器”图标,可以出现“显示器属性”对话框,在此对话框中,不可以进行的设置是(&&)。A.更改桌面的背景B.设置屏幕保护程序C.更改屏幕分辨率D.更改桌面上的快捷方式4下列有关在Windows下查找文件或文件夹的说法,不正确的是(&&)。A.可以根据文件的位置进行查找B.可以根据文件的属性进行查找C.可以根据文件的内容进行查找D.可以根据文件的修改日期进行查找
我有更好的答案
请先输入下方的验证码查看最佳答案
图形验证:
验证码提交中……
每天只需0.4元
选择支付方式
支付宝付款
郑重提醒:支付后,系统自动为您完成注册
请使用微信扫码支付(元)
支付后,系统自动为您完成注册
遇到问题请联系在线客服QQ:
恭喜你被选中为
扫一扫-免费查看答案!
请您不要关闭此页面,支付完成后点击支付完成按钮
遇到问题请联系在线客服QQ:
恭喜您!升级VIP会员成功
提示:请截图保存您的账号信息,以方便日后登录使用。
常用邮箱:
用于找回密码
确认密码:如何用vbs脚本指定特定浏览器进行网页按钮的点击操作? - 知乎3被浏览<strong class="NumberBoard-itemValue" title="分享邀请回答01 条评论分享收藏感谢收起写回答用VBS控制鼠标的实现代码(获取鼠标坐标、鼠标移动、鼠标单击、鼠标双击、鼠标右击)_vbs
作者:用户
本文讲的是用VBS控制鼠标的实现代码(获取鼠标坐标、鼠标移动、鼠标单击、鼠标双击、鼠标右击)_vbs,
怎么用VBS模拟鼠标左键单击、左键双击、右键单击?…… 网上搜到的答案普遍是VBS无法实现,或者是要用第三方COM(ActiveX?)组件。我对第三方组件是很反感的,使用第三方组件毫无可移植性可言,因为别人的系统中不一定注册了这个组件。我
怎么用VBS模拟鼠标左键单击、左键双击、右键单击?…… 网上搜到的答案普遍是VBS无法实现,或者是要用第三方COM(ActiveX?)组件。我对第三方组件是很反感的,使用第三方组件毫无可移植性可言,因为别人的系统中不一定注册了这个组件。我的建议是,尽量不要在VBS代码中调用第三方组件,除非你的程序只是写来自己用。(顺便说一下,也尽量不要用不靠谱的Sendkeys方法,原因不解释) 好了,废话就说这么多,现在说说用VBS控制鼠标的方法。我以前写过一篇《VBS调用Windows API函数》,本以为既然都能调用API了,用VBS控制鼠标还不是很简单是事?事实证明我错了,不明真相的同学永远是大多数,不知道API是什么的VBSer大有人在。不贴出实实在在的代码,他们根本不会自己写! 使用此代码的前提是你的系统上安装了Excel,因为要用到Excel.Application对象(如果你偏要认为这算第三方组件我也没话说):
复制代码 代码如下:
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: " & 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:
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
注释已经够详细了,要知道我很少写注释的,如果还看不懂,说明你的水平有待提高! 原文:http://demon.tw/programming/vbs-control-mouse.
以上是云栖社区小编为您精心准备的的内容,在云栖社区的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索鼠标
vbs模拟鼠标单击、鼠标左键单击变双击、鼠标单击变双击、鼠标单击变双击修复、鼠标单击偶尔变双击,以便于您获取更多的相关知识。
弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率
40+云计算产品,6个月免费体验
稳定可靠、可弹性伸缩的在线数据库服务,全球最受欢迎的开源数据库之一
云服务器9.9元/月,大学必备
云栖社区(yq.aliyun.com)为您免费提供相关信息,包括
,所有相关内容均不代表云栖社区的意见!(求解)按钮挂接事件,我这样怎么点击鼠标不能弹出信息框【易语言吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:149,540贴子:
(求解)按钮挂接事件,我这样怎么点击鼠标不能弹出信息框收藏
如下图,自绘按钮,挂接了事件,为什么,鼠标左键点击按钮后没有任何反应,不弹出子程序设置好的信息框,请告诉我哪里有问题。谢谢。
我记得这样写好像返回的不是组件句柄吧,你试试调试输出一下
什么版本的。?
用启动窗口通用事件
登录百度帐号

我要回帖

更多关于 vbs模拟鼠标右键 的文章

 

随机推荐