时间:2022-09-07 12:30:09
【前言】VB实现锐捷客户端自动输入及登录由文秘帮小编整理而成,但愿对你的学习工作带来帮助。锐捷客户端是一个专门用于大学教育网(校园网)拨号的软件,便于学院的网络管理。所以所有的计算机要上网,必须进行锐捷拔号。由于在机房进行计算机维护时,网络克隆后,每一台计算机的锐捷帐号和密码必须要重新输入。因此这一项工作也是影响机房维护效率的一个重要方...
摘 要:文章利用vb编写程序实现动态模拟输入方法,使电子阅览室的计算机在完成网络克隆之后,自动填写计算机锐捷帐号和密码并登录,进一步提高电子阅览室的维护效率。
关键词:动态模拟输入;自动填写;登录;维护效率
中图分类号:TP393.08 文献标识码:A 文章编号:1006-8937(2012)11-0081-02
在电子阅览室进行网络克隆后可以通过文献[1]、[2]和文献[3]中的方法,自动修改计算机名称和IP地址等信息,这样提高了机房的维护效率。但是现在很的高校使用锐捷实名制认证,这样电子阅览室的计算机重新网络克隆后,还需要一台一台的输入锐捷帐号和密码装,这样使机房的维护效率下降。本文通过VB编写程序实现每一台计算机能自动进行帐号和密码的输入。这样将进一步提高电子阅览室维护的效率。
1 实现原理
锐捷客户端是一个专门用于大学教育网(校园网)拨号的软件,便于学院的网络管理。所以所有的计算机要上网,必须进行锐捷拔号。由于在机房进行计算机维护时,网络克隆后,每一台计算机的锐捷帐号和密码必须要重新输入。因此这一项工作也是影响机房维护效率的一个重要方面。经过对锐捷客户端的使用发现,锐捷的帐号和密码是加密码后保存在注册表里的,所以没有办法通过对注册的修改进行自动输入帐号和密码。但是锐捷登录客户端有一个保存帐号和密码的功能,所以本文通过模拟人工输入帐号和密码的过程,并连接登录。这样锐捷客户端就会自动保存本机的帐号和密码,永久使用。
2 实现方法
要实现模拟人工输入帐号和密码,必须知道本机的账号和密码,这个通常是由网络管理中心得到,但是并没有将计算机与帐号相关联,为了进行关联,现设计一个电子表格,格式如表1所示。
为了模拟人工输入帐号和密码,必须在表1-1中,通过计算机名称找到对应的帐号和密码,再填入到锐捷客户端登录界面。VB实现从xls表格读取数据程序参照常规做法即可完成
此表格的文件名存放在config.txt文本文件中,格式如下:
Title=锐捷安全认证客户端
displayTime=1000
xlsname=341110
Title是锐捷客户端登录窗口的标题名称,displayTime 是本程序延时关闭时间,xlsname是锐捷帐号和密码表的文件名称,不含扩展名。
其次是在VB中读出表格中与本台计算机名称相对应的帐号和密码,打开配置文件config.txt 并通过以下程序获取锐捷帐号和密码表的文件名。
FreeNum = FreeFile 'Freenum表示一个空闲的文件号
Open App.Path & "\\config.txt" For Input As #FreeNum
'打开配置文件“config.txt”,for input表示以输入方式(即读取文件)打开。
i = 0
Do Until EOF(FreeNum) '循环,直到文件结尾。Eof函数用来判断文件是否读完
Line Input #FreeNum, tStringsConfig(i)
tStringsConfig(i) = Mid(tStringsConfig(i), InStr(tStringsConfig(i), "=") + 1, Len(tStringsConfig(i)))
i = i + 1
Loop
Close FreeNum
computerName = VBA.Environ("computername")
读取锐捷帐号和密码表的名称后打开表,
strName = App.Path & "\" & tStringsConfig(2) & ".xls" 'EXCEL文件名
strSheetName = "sheet1" 'EXCEL表名
读取与本机分配的帐号和密码。
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=" & strName & ";Extended Properties='Excel 8.0;HDR=Yes'" '连接EXCEL文件
sql = "select * from [" & strSheetName & "$] where 计算机名称='" & computerName & "'" '打开EXCEL表"
rs.Open sql, Conn, 3, 3
If rs.RecordCount
MsgBox "数据库中没有本计算机的帐号,请检查数据库。"
End If
Do Until rs.EOF
For i = 0 To rs.Fields.Count - 1 '读一行数据
List1.AddItem rs.Fields.Item(i).Name '读出数据,添加到list1里
If Not IsNull(rs.Fields.Item(i).Value) Then
List2.AddItem rs.Fields.Item(i).Value
tStrings(i) = rs.Fields.Item(i).Value
Else
rs.Update
rs.Fields.Item(i).Value = i ' "peter" & i
rs.Update
End If
Next i
rs.MoveNext
Loop
rs.Close '关闭数据集
Conn.Close '关闭对象
接下来是要对锐捷登录窗口中的用户名和密码进行自动输入,登录界面如1所示。
本文使用动态模拟输入方式,来完成自动输入帐号和密码。最重要的是如何找到帐号和密码的输入框,并模拟输入帐号和密码。方法如下,首先用FindWindow找出锐捷登录窗口的句柄,再使用spy++软件获得锐捷登录窗口下的控件ID号,用户名文本框的ID号是H3E8,密码文本框的ID号是H3E9,连接按钮的ID号是H1。再通过GetDlgItem函数得到相应控件的句柄。就可以对该控件进行控制。主要代码如下:
找出锐捷登录窗口的句柄
hwnd = FindWindow(vbNullString, tStringsConfig(0))
通过GetDlgItem函数得到相应控件的句柄。
buttonhwnd = GetDlgItem(hwnd, &H1)
usernamehwnd = GetDlgItem(hwnd, &H3E8)
passwordhwnd = GetDlgItem(hwnd, &H3E9)
通过SendMessage函数向锐捷帐号文本框输入帐号:
SendMessage usernamehwnd, WM_SETTEXT, 0&, ByVal tStrings(0)
通过SendMessage函数向锐捷密码文本框输入密码:
SendMessage passwordhwnd, WM_SETTEXT, 0&, ByVal tStrings(1)
点击登陆按钮
SendMessage buttonhwnd, BM_CLICK, 0&, ByVal 0&
经过实践,要延时一段时间后本程序才能关闭,这样才能保证锐捷认证的登录。此程序中要加入定时器,其作用是在模拟输入帐号和密码后,自动延时关闭本程序。只要登录一次后,此帐号和密码被锐捷自动保存。下次启动后无需要重新输入帐号和密码。
最后将此文件通过网络控制软件同时运行,就可以在几秒内将成百上千的计算机进行统一填写锐捷帐号和密码。大大提高机房维护效率。
3 结 语
此动态模拟输入方法,可以用来完成很多需要自动完成的地方,比例自动点击确定按钮,自动输入数据等。为计算机的高效管理提供了参考方法。
参考文献:
[1] 关中玉,谢奇,高桐.应用Ghost网络克隆技术实现批量安装计算机[J],医学信息学杂志,2007,(5).
[2] 方胜.批处理在电子阅览室管理中的应用[J].电脑知识与技术[J].2009,(21).
[3] 白文秀.通过VB编程实现计算机自动改名[J].吉林师范大学学报,2006,(1).