VB实现锐捷客户端自动输入及登录

时间:2022-09-07 12:30:09

【前言】VB实现锐捷客户端自动输入及登录由文秘帮小编整理而成,但愿对你的学习工作带来帮助。锐捷客户端是一个专门用于大学教育网(校园网)拨号的软件,便于学院的网络管理。所以所有的计算机要上网,必须进行锐捷拔号。由于在机房进行计算机维护时,网络克隆后,每一台计算机的锐捷帐号和密码必须要重新输入。因此这一项工作也是影响机房维护效率的一个重要方...

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

上一篇:海上风力发电机组可靠性问题研究 下一篇:浅谈某高档写字楼停车场管理系统