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   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).

1 次访问