一个测试用的VBS脚本样例
2011-04-07 10:01
417 查看
Const KENTER="{ENTER}" Const KALTF4="%{F4}" Const KUP="{UP}" Const KDOWN="{DOWN}" Const KLEFT="{LEFT}" Const KRIGHT="{RIGHT}" Const ONE_SECOND=1000 Dim WaitCount Set WshShell = WScript.CreateObject("WScript.Shell") WshShell.Run "FreeView" WScript.Sleep ONE_SECOND*10 'WshShell.SendKeys("rootroot") 'WScript.Sleep 1000 While True While WshShell.AppActivate("虚拟桌面")=False WScript.Sleep ONE_SECOND/10 Wend SendKey(KENTER) 'MsgBox "登录开始。" While WshShell.AppActivate("桌面列表")=False WScript.Sleep ONE_SECOND/10 Wend 'MsgBox "进入桌面列表。" WScript.Sleep ONE_SECOND SendKey(KDOWN) SendKey(KDOWN) WScript.Sleep ONE_SECOND/10 SendKey(KDOWN) WScript.Sleep ONE_SECOND/10 SendKey(KDOWN) WScript.Sleep ONE_SECOND/10 SendKey(KDOWN) WScript.Sleep ONE_SECOND/10 SendKey(KDOWN) 'MsgBox "开始连接桌面。" WScript.Sleep ONE_SECOND/10 SendKey(KENTER) WaitCount = 0 Do WScript.Sleep ONE_SECOND/2 WaitCount += 1 If WaitCount > 600 Then '超过300s没有连接上,再次发送Enter键 SendKey(KENTER) WaitCount = 0 End If Loop While Not IsRdpStart WScript.Sleep ONE_SECOND*10 WshShell.Run "taskkill /F /IM rdp.exe /T",0,True WScript.Sleep ONE_SECOND SendKey(KUP) SendKey(KUP) While WshShell.AppActivate("桌面列表")=False WScript.Sleep ONE_SECOND/10 Wend 'MsgBox "关闭1" WScript.Sleep ONE_SECOND*2 SendKey(KALTF4) WScript.Sleep ONE_SECOND 'MsgBox "关闭2" Wend Sub SendKey(Key) WshShell.SendKeys Key End Sub Function IsRdpStart() Dim Pos,s '生成批处理文件 Set fso = WScript.CreateObject("Scripting.FileSystemObject") Set BatFile = fso.CreateTextFile("task.bat",True) BatFile.WriteLine("tasklist /FI ""IMAGENAME eq rdp.exe"" /FO CSV /NH > test.dat") BatFile.Close Set Exec = WScript.CreateObject("WScript.Shell") '0,不显示执行窗口。1,等待命令执行完成 Exec.Run "task.bat",0,1 '读取批处理程序执行结果 s="" Set ts = fso.OpenTextFile("test.dat") s = ts.ReadAll ts.Close() '删除临时文件 Set ts = fso.GetFile("test.dat") ts.Delete Set BatFile = fso.GetFile("task.bat") BatFile.Delete '检查结果 'MsgBox "" & s & "" Pos = InStr(s,"rdp.exe") If Pos < 1 Then IsRdpStart = False Else IsRdpStart = True End If End Function Function IsRdpStart2() Dim Pos,WshShell, oExec, input Set WshShell = WScript.CreateObject("WScript.Shell") Set oExec = WshShell.Exec("tasklist /FI ""IMAGENAME eq rdp.exe"" /FO CSV /NH") input = "" Do While True If Not oExec.StdOut.AtEndOfStream Then input = input & oExec.StdOut.ReadLine Else Exit Do End If WScript.Sleep 100 Loop '检查结果 Pos = InStr(input,"rdp.exe") If Pos < 1 Then IsRdpStart2 = False Else IsRdpStart2 = True End If End Function
相关文章推荐
- 一个高并发的测试websocket脚本
- 记录一个测试用的PowerShell脚本
- 脚本和web页共用同一个文件测试
- 20行代码实现的一个CSS覆盖率测试脚本
- 在VBScript中,像C一样使用include一个.vbs脚本
- 管理的网路设备较多,今天借助SNMP++ 编写了一个SNMP的COM控件,可以用VBS脚本批量查自己想要的数据了
- 通过对一个病毒源码的分析,了解VBS脚本语言的应用
- 一个扩展dir命令的vbs脚本
- jmeter - 一个完整的接口测试的脚本
- 基于QTP的自动化测试留下一份向数据库自动导入测试数据的VBS脚本
- 一个使用web安装盘的install(nextinstaller)vbs脚本
- 写一个php小脚本辅助渗透测试
- 测试脚本自动运行的VBS 脚本
- 回文链表 请编写一个函数,检查链表是否为回文。 给定一个链表ListNode* pHead,请返回一个bool,代表链表是否为回文。 测试样例: {1,2,3,2,1} 返回:true {1,2,3,
- 一个脚本(VBS)问题
- 一个android sdk工程的ant脚本样例
- PSAttack:一个包含所有的渗透测试用例的攻击型Powershell脚本框架
- 一个转换编码格式的VBS脚本
- 一个扩展时间段的dir命令的vbs脚本
- 一个收集电脑信息的脚本(vbs)