vbs/vb如何模拟鼠标点击

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vbs/vb如何模拟鼠标点击相关的知识,希望对你有一定的参考价值。

易语言有个模拟鼠标点击,请问如何在vbs或vb中实现(最好是vbs的)

注意:不是模拟键盘点击
最好不要是太复杂的,哪个简单就采纳哪个

MassacreWar -的不错

vb6的

相关的api

'模拟鼠标事件
Private 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)

Private Type POINTAPI
X As Long
Y As Long
End Type

'设置鼠标光标的坐标(位置)
Private Declare Function SetCursorPos Lib "user32" (ByVal X As Long, ByVal Y As Long) As Long

'设置鼠标光标的坐标(位置)
Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
Const MOUSEEVENTF_LEFTDOWN = &H2
Const MOUSEEVENTF_LEFTUP = &H4
Const MOUSEEVENTF_MIDDLEDOWN = &H20
Const MOUSEEVENTF_MIDDLEUP = &H40
Const MOUSEEVENTF_MOVE = &H1
Const MOUSEEVENTF_ABSOLUTE = &H8000
Const MOUSEEVENTF_RIGHTDOWN = &H8
Const MOUSEEVENTF_RIGHTUP = &H10

'获取鼠标的位置
Dim p As POINTAPI
Call GetCursorPos(p)

Text1.Text = p.X
Text2.Text = p.Y

'设置鼠标的光标到坐标(431, 190)位置
ret = SetCursorPos(431, 190)
'模拟一个左键单击的事件
mouse_event MOUSEEVENTF_LEFTDOWN Or MOUSEEVENTF_LEFTUP, 0, 0, 0, 0

其它的自己可以对照着api自己摸索了。。。
参考技术A 参考代码如下:

Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Private Const WM_LBUTTONDOWN = &H201
Private Const WM_LBUTTONUP = &H202
Private Sub Command1_Click()
MsgBox "123"
End Sub

Private Sub Command2_Click()
PostMessage Command1.hwnd, WM_LBUTTONDOWN, 0, 0
PostMessage Command1.hwnd, WM_LBUTTONUP, 0, 0
End Sub
参考技术B Function Click() '定义模拟鼠标单击
mouse_event 6, 0, 0, 0, 0
End Function本回答被提问者采纳
参考技术C 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)

Function Click() '定义模拟鼠标单击
mouse_event 6, 0, 0, 0, 0
End Function

VB运行VBS程序

用VB写一个程序,点击command1后,运行c:\run.vbs
run.vbs内容为:
Set ws = CreateObject("Wscript.Shell")
ws.run "cmd /c run.bat",vbhide
即运行同级目录下的run.bat
run.bat内容为:
dir d: >1.txt
即显示D盘的文件并写入结果到同级目录的1.txt
请问要怎么写这个VB程序,才可以完成这个连锁运行呢?使得1.txt可以成功生成
还是不行啊,仍然提示无效的过程调用或参数,是不是不完整啊?

调用shell函数(很久不用了,希望正确)

private sub command1_click()
dim x as integer
x=shell("c:\\run.vbs",1) \'本行已修改
end sub

x无用,但是必须得有
shell函数后面还得有一个窗口类型
参考技术A shell "c:\run.vbs"

以上是关于vbs/vb如何模拟鼠标点击的主要内容,如果未能解决你的问题,请参考以下文章

VB模拟鼠标点击webbrowser控件网页

如何用VBS代码实现模拟点击鼠标左键

vb后台模拟鼠标点击网页

VB如何模拟鼠标点击网页按钮?

vb 内置浏览器 如何模拟鼠标操作

关于VBS语句,谁会把鼠标移动这图中点击呢,教我