网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > VC++ > 正文
用VC制作个性化浏览器
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/15
下载{$ArticleTitle}原创论文样式

随着计算机网络技术的飞速发展,互联网上的网站越来越多,它们在内容和形式上追求特色化和个性化,其中一些精美的网页令人赏心悦目,流连忘返。但是,目前绝大多数人使用的浏览工具却是界面单调、功能整齐划一的商用产品,在追求个性化的时代,这不能不说是一种遗憾。下面本文介绍一种利用VC ++ 6.0制作个性化浏览器的方法。利用这种方法,不但可以制作出个性化的浏览器,同时还能根据需要加入比商业产品更多的安全措施。

功能特点

本文要制作的浏览器程序具有如下功能:

● 自动播号功能;

● 具有前进、后退、停止、刷新、搜索等功能,还可以选用自己喜欢的工具图标,定制个性化界面;

● 自动网站网址记录备份功能;

● 隔离不良网站功能。

在微软IE浏览器中,安全属性选项的受限站点的内容很容易被更改,使安全性大打折扣。本文介绍的方法通过把所有能找到的不良站点放在一个数组中,经编译、链接后生成.EXE文件,他人不能更改,所以具有更高的安全性。这种方法特别适合有小孩的家庭上网、校园学生上网和社会上的网吧管理。

实现步骤

1. 首先用VC ++ 6.0的MFC AppWizard生成一个单文档程序,在第1步到第5步时保持缺省设置,在第6步时将Cview类改为CHtmlView类。

2. 在集成编辑环境下,将Microsoft Web浏览器控件添加到程序中,这样就可以利用该控件的函数来完成浏览器的一些有用的功能,如页面浏览的前进、后退、搜索、停止等。由于这部分功能大多由控件直接完成,本文不再赘述。下面重点介绍如何添加安全措施。

3. 在MFC ClassWizard中添加OnBeforeNavigate2程序。下列代码用来阻止用户访问一些不良网站:

void CSina6View:: OnBeforeNavigate2(LPCTSTR lpszURL, DWORD nFlags, LPCTSTR lpszTargetFrameName, CByteArray& baPostedData, LPCTSTR lpszHeaders, BOOL* pbCancel)

{

 //不良网站的地址被列在CstringArray类的m_strBlockList 数组中

 for(int i=0; i<m_strBlockList.GetSize(); i++) {

CString strTemp;

strTemp=m_strBlockList.GetAt(i);

//检查用户访问的网站地址lpszURL是否在被禁止的数组中

if(! strnicmp(lpszURL,strTemp,strTemp. GetLength()))

{

//如果用户访问被禁止的网站,则出现提示,并禁止用户浏览该网页

*pbCancel=TRUE;

AfxMessageBox(“此网站被禁止访问!”);

break;

}

}

}

上述代码可以禁止访问不良网站的主页地址,如HTTP://WWW. XXXSEX.COM/等。但对于直接在链接对话框中输入不良网站深层内容地址时,该程序就无能为力,如直接输入内容地址HTTP://WWW. XXXSEX.COM/MANXX/。为严格这种限制,程序必须能阻止访问被限制网站的所有内容。为此,需要对上述代码进行如下修改:

void CSina6View:: OnBeforeNavigate2(LPCTSTR lpszURL, DWORD nFlags, LPCTSTR lpszTargetFrameName, CByteArray& baPostedData, LPCTSTR lpszHeaders, BOOL* pbCancel)

{

for(int i=0; i<m_strBlockList.GetSize(); i++) {

CString strTemp;

strTemp=m_strBlockList.GetAt(i);

//检查请求访问的网站地址是否被列入数组中,或请求访问的网址的前几位是否与被限制的网址一样?如:HTTP://WWW.XXXSEX.COM/XXMAN/作为是HTTP://WWW. XXXSEX.COM/网站的下一层内容,也在被禁止之列

if(! strnicmp(lpszURL, strTemp, strTemp. GetLength())||! strnicmp(lpszURL. Left(strTemp. GetLength())), strTemp, StrTemp.GetLength())

{

*pbCancel=TRUE;

AfxMessageBox(“此网站被禁止访问!”);

break;

}

}

}

这样就能从根本上禁止用户访问已知的不良网站。如果在使用中发现了数组中还没有收集到的不良网站的网址,可以打开源程序把该不良网址添加到数组中。

4. 因为不良网站是动态变化的,所以我们不能、也不可能把所有的不良网站都列入到禁止搜索数组中,并且经常把源程序改来改去也不方便。为此,我们可以采取事后备案的方法,即记录近期用户所浏览的网站地址,以备日后查找和核对,这样也可以对用户起到一定的阻止作用。

在MFC ClassWizard中添加OnNavigate-

Complete2程序

Void CSina6View::OnNavigateComplete2(LPCTSTR strURL)

{

CFile storeURL;

//打开备份文件

if(!storeURL.Open(“URLHist.dat”,CFile::modeREAD|CFile:: modeWrite))

{

if(! storeURL. Open(“URLHist.dat”, CFile::modeCreate|CFile:: modeWrite))

  return;

}

//找到文件结尾处

storeURL. SeekToEnd();

//写文件

storeURL.Write(strURL, strlen(strURL));

}

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号