一、一键升级哨位台核心板程序脚本。

############################################################

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

'*************************************************************************************

VBS脚本实例的更多相关文章

  1. Vbs脚本经典教材(转)

    Vbs脚本经典教材(最全的资料还是MSDN) —为什么要使用Vbs? 在Windows中,学习计算机操作也许很简单,但是很多计算机工作是重复性劳动,例如你每周也许需要对一些计算机文件进行复制.粘贴.改 ...

  2. 工控随笔_11_西门子_WinCC的VBS脚本_02_运算符

    VBS脚本做为编程语言,提供了很多的运算符,通过这些运算符,可以实现不同的操作.运算符具有不同的类型 不同的运算符之间具有运算优先级. 一.运算符的分类 大体分为以下几类: 1.赋值运算符 2.算术运 ...

  3. Vbs 脚本编程简明教程之一

    —为什么要使用 Vbs ? 在 Windows 中,学习计算机操作也许很简单,但是很多计算机工作是重复性劳动,例如你每周也许需要对一些计算机文件进行复制.粘贴.改名.删除,也许你每天启动 计算机第一件 ...

  4. Vbs脚本经典教材

    转载:http://www.cnblogs.com/BeyondTechnology/archive/2011/01/10/1932440.html Vbs脚本经典教材(最全的资料还是MSDN) —为 ...

  5. 使用vbs脚本进行批量编码转换

    使用vbs脚本进行批量编码转换 最近需要使用SourceInsight查看分析在Linux系统下开发的项目代码,我们知道Linux系统中文本文件默认编码格式是UTF-8,而Windows中文系统中的默 ...

  6. LoadRunner脚本实例来验证参数化的取值

    LoadRunner脚本实例来验证参数化的取值 SINM {3]!G0问题提出:  主要想试验下,在Controller中,多个用户,多次迭代中参数的取值.51Testing软件测试网(['H5f,d ...

  7. LoadRunner关联函数的脚本实例--如何操作关联参数

    LoadRunner关联函数的脚本实例--如何操作关联参数 这几天一直在学习LoadRunner的VuGen编程,今天想对关联函数web_reg_save_param做详细的试验和研究: ~f6p q ...

  8. 在本地主机上powershell中连接远程主机执行vbs脚本,得到执行结果(2008版及以上)

    在桌面版的主机上远程管理服务器版主机,在本地powershell中连接远程主机执行vbs脚本,得到执行结果. 执行步骤: 1.将本地主机上的Hyper.vbs复制到远程连接主机上.例如,本地vbs脚本 ...

  9. [VBS]脚本中的字典、动态数组、队列和堆栈

    今天用VBS脚本写了几个程序,用到了字典(Dictionary).动态数组(ArrayList).队列(Queue)和堆栈(Stack).现在写篇Blog总结一下 :-) 1.编写环境 今天突发奇想下 ...

随机推荐

  1. 快速排序(js版本)

    快速排序的时间复杂度为:O(n*log2n),相比较其他O(n2)的排序算法,还是比较有优势的.原文参考在此处,因为本人对原文的一小段代码有点不理解,所以进行了小的修改. 1.基本思想:在数组的第一个 ...

  2. 用Perl做个简单”下载者病毒”

    一直学的perl, 有时perl不理解时就用python写一下,这样或许perl就理解了 这里参照python写法,做了个perl的版本,当然,是为了学习用,这个下载者病毒有点简单过头了 backdo ...

  3. 转发一个javascript的编码规范

    google出品:http://chajn.org/jsguide/javascriptguide.html

  4. redo log

    1.redo log相关数据字典 v$log:display the redo log file information from the control file v$logfile:identif ...

  5. Hadoop中Namenode的HA查询和切换

    有一段时间没有关注公司服务器上自己搭的三台小型hadoop集群了,上星期公司机房停电了,这次上去start了集群,但是发现start之后无法工作了. 查看了jps发现该有的进程都有了,敲入 hadoo ...

  6. 2016-12-14 - SSH Tunnel

    2016-12-14 - SSH Tunnel ssh Network Topo Network Topo A: Internet sshd B: NAT sshd C: NAT B Create S ...

  7. (十)foreac遍历、break和countinue以及标签和switch循环

    foreach语法,表示不必创建int变量去对由访问项构成的序列进行计数,foreach将自动产生每一项. 例:输出数组的所有元素. float f[]=new float[5]; f[0]=1.0f ...

  8. sublime修改代码字体颜色

    1.首先知道你采用的是什么颜色主题在Preferences => color scheme查看,假设是Monokai2.查找该主题的脚本文件Preferences => Browse Pa ...

  9. HDU 5861 Road

    首先要计算出每一条路最早开始的那一天,然后最晚结束的那一天. 这些天之间这条边都必须$open$,然后就变成一个线段树区间$+val$的问题了,最后询问一个每个点的$val$是多少. 注意:数据中有$ ...

  10. L3-002. 堆栈

    L3-002. 堆栈 题目链接:https://www.patest.cn/contests/gplt/L3-002 线段树 线段树的数据修改和查询都是O(lgn)的,此题只需维护各个区间内的数的个数 ...