由于搬家,新小区里只有有线宽带和电信宽带,只好放弃原来的长宽。但是,合肥有线宽带的登录界面在IE登录页面打开后,一步步录入用户名、密码才能登录,而且还有就是下次登录时不能保存用户名、密码(我想是安全的需要吧)只有重新录入,如果密码较长又比较负责录入起来颇为麻烦。其实我觉得有线宽带登录不像银行支付,需要如此。
于是想办法解决,一开始考虑获得IHTMLDocument2接口,然后获取IHTMLElementCollection再获取IHTMLFormElement,再向文本框发送键盘模拟按键,颇为复杂。后看到一篇VC知识库文章《如何获取网页密码框中的密码》,很受前面一部分启发。
我查看了有线宽带的登录页面的html源代码,发现可以参照上面文章的方法一,将用户名和密码自动录入。具体的办法如下:
1、写一个htm文件如下:
2、在开始运行处运行regedit.exe,打开注册表HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt\下新建一下主键,键名为"登录有线宽带",缺省值设为该htm文件的路径,在该主键下另增一个DWORD值,值为4,表示只在右击页面上时显示该项。关闭注册表,重新启动IE窗口,打开有线宽带的登录页面(也许是自动跳转的),点击右键出现菜单项“登录有线宽带”并点击之,就可以自动登录了。如下:
![]()
记住在上面的htm文件中第17、19行分别写入密码和用户名。
于是想办法解决,一开始考虑获得IHTMLDocument2接口,然后获取IHTMLElementCollection再获取IHTMLFormElement,再向文本框发送键盘模拟按键,颇为复杂。后看到一篇VC知识库文章《如何获取网页密码框中的密码》,很受前面一部分启发。
我查看了有线宽带的登录页面的html源代码,发现可以参照上面文章的方法一,将用户名和密码自动录入。具体的办法如下:
1、写一个htm文件如下:
1
<html>
2
<head>
3
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
4
<title>登录有线宽带</title>
5
<script language="JavaScript">
6
// Get the winow object where the context menu was opened.
7
var oWindow = window.external.menuArguments.event.srcElement;
8
// Get the document object exposed through oWindow.
9
var doc = oWindow.document;
10
var elform=doc.getElementById( "login" );
11
if (elform !=null)
12
{
13
var ele=doc.getElementsByTagName( "input" );
14
for (var i=1;i<ele.length;i++)
15
{
16
if (ele[i].type=="password")
17
ele[i].value="×××××";
18
else if(ele[i].type=="text")
19
ele[i].value="×××××" ;
20
}
21
elform.submit();
22
}
23
else
24
alert("啊,还没有打开合肥有线宽带登录页面!");
25
</script>
26
</head>
27
</html>
28![]()
取个名字:catvlogin.htm,将其保存到自己指定的任意目录下,如:E:\Program Files\Internet Explorer下。
2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

2、在开始运行处运行regedit.exe,打开注册表HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt\下新建一下主键,键名为"登录有线宽带",缺省值设为该htm文件的路径,在该主键下另增一个DWORD值,值为4,表示只在右击页面上时显示该项。关闭注册表,重新启动IE窗口,打开有线宽带的登录页面(也许是自动跳转的),点击右键出现菜单项“登录有线宽带”并点击之,就可以自动登录了。如下:
记住在上面的htm文件中第17、19行分别写入密码和用户名。