VBS脚本实例
一、一键升级哨位台核心板程序脚本。
############################################################
Set ws=WScript.CreateObject("wscript.shell")
PATH= createobject("Scripting.FileSystemObject").GetFile(Wscript.ScriptFullName).ParentFolder.Path
IP="192.168.46.73"
NAME="UpdatePacket_WJT2000-B_V3.1.0.bin"
ws.Run "C:\Users\Administrator\Desktop\1\RECUpgrade.exe"
UpdateOperate()
'*************************************************************************
Function UpdateOperate()
WScript.Sleep 1000
ws.SendKeys IP
ws.SendKeys "{TAB 3}"
ws.SendKeys "{ENTER 2}"
WScript.Sleep 200
ws.SendKeys "{TAB 6}"
WS.SendKeys "{ENTER}"
WScript.Sleep 200
WS.SendKeys PATH&"\"&NAME
WScript.Sleep 200
'ws.SendKeys "{ENTER}"
ws.SendKeys "{TAB 2}"
ws.SendKeys "{ENTER}"
WScript.Sleep 200
ws.SendKeys "{TAB 3}"
ws.SendKeys "{ENTER}"
End Function
'*****************************************************************************
二、一键升级哨位台底板单片机脚本。
Set ws=WScript.CreateObject("wscript.shell")
PATH= createobject("Scripting.FileSystemObject").GetFile(Wscript.ScriptFullName).ParentFolder.Path
NAME= "MCU_WJT2000-B_ShaoWei_V3.1.0.hex"
ws.Run PATH&"\"&"STC-ISP.exe"
WScript.Sleep 1000
ControlMouse()
UpdateOperate()
'*******************************************************************
Function UpdateOperate()
ws.SendKeys "{TAB 9}"
ws.SendKeys "{ENTER}"
WScript.Sleep 1000
ws.SendKeys PATH&"\"&NAME
WScript.Sleep 300
ws.SendKeys "{ENTER}"
ws.SendKeys "{TAB 4}"
ws.SendKeys "{ENTER}"
End Function
'***************************************************************
'***********************************************************************
Function ControlMouse()
'***********************************************************************
Set mouse=New SetMouse
mouse.getpos x,y ''获得鼠标当前位置坐标
'MsgBox x & " " & y
mouse.move 808,584 '把鼠标移动到坐标
WScript.Sleep 200
mouse.clik "dbclick" '双击
End Function
'*****************将以下代码加入到vbs文件末就能如以上方法调用(定义SetMouse类)*******************************************************************************************
Class SetMouse
private S
private xls, wbk, module1
private reg_key, xls_code, x, y
Private Sub Class_Initialize()
Set xls = CreateObject("Excel.Application")
Set S = CreateObject("wscript.Shell")
'vbs 完全控制excel
reg_key = "HKEY_CURRENT_USER\Software\Microsoft\Office\$\Excel\Security\AccessVBOM"
reg_key = Replace(reg_key, "$", xls.Version)
S.RegWrite reg_key, 1, "REG_DWORD"
'model 代码
xls_code = _
"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 getx() As Long" & vbCrLf & _
"Dim pt As POINTAPI : GetCursorPos pt : getx = pt.X" & vbCrLf & _
"End Function" & vbCrLf & _
"Public Function gety() As Long" & vbCrLf & _
"Dim pt As POINTAPI: GetCursorPos pt : gety = pt.Y" & vbCrLf & _
"End Function"
Set wbk = xls.Workbooks.Add
Set module1 = wbk.VBProject.VBComponents.Add(1)
module1.CodeModule.AddFromString xls_code
End Sub
'关闭
Private Sub Class_Terminate
xls.DisplayAlerts = False
wbk.Close
xls.Quit
End Sub
'可调用过程
Public Sub getpos( x, y)
x = xls.Run("getx")
y = xls.Run("gety")
End Sub
Public Sub move(x,y)
xls.Run "SetCursorPos", x, y
End Sub
Public Sub clik(keydown)
Select Case UCase(keydown)
Case "LEFT"
xls.Run "mouse_event", &H2 + &H4, 0, 0, 0, 0
Case "RIGHT"
xls.Run "mouse_event", &H8 + &H10, 0, 0, 0, 0
Case "MIDDLE"
xls.Run "mouse_event", &H20 + &H40, 0, 0, 0, 0
Case "DBCLICK"
xls.Run "mouse_event", &H2 + &H4, 0, 0, 0, 0
xls.Run "mouse_event", &H2 + &H4, 0, 0, 0, 0
End Select
End Sub
End Class
'*************************************************************************************
最新文章
- 用康托展开实现全排列(STL、itertools)
- 1204. Maze Traversal
- javascrit2.0完全参考手册(第二版) 第2章第2节 语言特性
- JDBC——事物管理
- LevelDB.NET性能测试
- 在 Visual Studio 2010 中开发和部署 Windows Azure 应用程序
- 贪心+bfs 或者 并查集 Codeforces Round #268 (Div. 2) D
- 在nltk中调用stanfordparser处理中文
- A workaround to change shared memory size for Docker containers in AWS ECS
- Java Excel导入导出(实战)
- Gym102082 G-What Goes Up Must Come Down(树状数组)
- miniui中可以设置是否让页面进行分页 <;div id=";datagrid1"; class=";mini-datagrid"; style=";width:100%"; allowAlternating=";true"; showpager=";true";/>; 就是设置showpager属性为true
- java实现文件监控
- 【AtCoder010】A - Addition(奇偶)
- 如何设置使eclipse修改代码不重启tomcat
- hmaster 启动后自动关闭
- 使用area标签模仿a标签
- springcloud 入门 3 (服务之间的调用)
- laravel增删改查(查询构建器)
- HihoCoder - 1040 矩形判断
热门文章
- Java实现应用程序记住用户名、密码功能
- apue学习记录——配置apue.3e,实现P4‘ls例子
- Android:关于背景选择器Selector的item顺序
- SQL优化 总结 精简
- clone()方法、深复制和浅复制
- 关于并行计算的Scan操作
- 单词缩写(abbr.cpp)每日一题
- 通过HttpModule管道,帮助api对接开发
- Number String
- PHP学习过程_Symfony_(3)_整理_十分钟学会Symfony