浏览器制作.docx
《浏览器制作.docx》由会员分享,可在线阅读,更多相关《浏览器制作.docx(9页珍藏版)》请在冰豆网上搜索。
浏览器制作
vc制作简单的浏览器
2010-02-2809:
41:
32| 分类:
多媒体|字号 订阅
用VC++6.0制作简易浏览器
浏览器是我们上网时必须使用的软件,我们常用的浏览器有IE、Netscape等。
面对它们,我们往往会感叹如此强大功能的软件是如何编写出来的呢?
的确,要编写一个功能完善的浏览器是很不容易的。
但是,利用当今的一些面向对象开发工具来编写一个简易的浏览器以实现它的主要功能却十分容易。
用VC++,一支烟的功夫就能办到!
不信,请跟我来。
实现原理:
ActiveX控件可以看作是OLE容器中使用的进程内服务器,但是,只有在支持ActiveX控件的OLE容器中使用它,才能发挥其所有的功能。
而VC++ 6.0的MFC创建的OLE容器完全支持ActiveX控件,所以它可以使用控件的属性和方法来操作ActiveX控件,同时又能以事件的形式接收Active事件的通知。
具体方法:
1.首先在VC++ 6.0的主窗口中选择菜单“File/New”,新建一个工程,使用“MFCAppWizard(exe)”向导,工程名为“SimpleIE”,然后单击“OK”按钮。
2.接下来会有6个向导步骤。
第一步选择“Singledocument”(单文档界面)支持,语言选择“中文”,其余按默认值,单击“Next”按钮。
3.在接下来的4个步骤(即:
Step2of6到Step5of6)中,一律保持默认值,直接单击“Next”按钮进入到下一步即可。
4.在第6步(即:
Step6of6)中,请在类列表中选中“CSimpleIEView”类,再从“Baseclass”下拉列表框中选择“CFormView”,这表示可以在程序界面的窗口中加入控件。
最后单击“Finish”按钮,直到系统生成该工程所必需的文件结束,此时,也就完成了该程序的基本框架。
5.在VC++ 6.0的主窗口左边选择资源选项卡,双击其中的Dialog文件夹,再双击其下的IDD_SimpleIE_FORM项,则此对话框出现在对话框编辑器中。
删除对话框上的静态文本,然后在对话框上单击鼠标右键,从弹出的快捷菜单中选择“InsertActiveXControl”命令,在弹出的“SelectActiveXControl”对话框中,从列表框中选择“MicrosoftWeb浏览器”控件,单击“OK”按钮,将该控件加入到对话框中。
进入ClassWizard,选择MemberVariable选项卡,然后选择ClassName列表框中的CSimpleIEView类,在ID列表中找到ID_EXPLORER1,为它增加一个成员变量“m_SimpleIE”(注意:
系统提示在增加控件后,保存工程中的所有文件)。
6.再在对话框上加入三个控件,静态文本“地址:
”、EDIT_BOX控件(为其添加成员变量m_URL)、一个按钮(在其属性对话框中,将Caption属性设为“链接(&L)”,选择“Styles”选项卡,将“Defaultbutton”复选框选中)。
7.进入ClassWizard,选择MessageMaps选项卡,再在ObjectIds列表框中选择IDC_BUTTON1,选择Message列表框中的BN_CLICKED。
单击“AddFunction”按钮,增加一个函数,使用系统的默认函数名“OnButton1”,单击“OK”。
点击“EditCode”按钮,为此函数加入如下代码(注意字母的大小写):
UpdateData(true);
m_SimpleIE.Navigate(m_URL,NULL,NULL,NULL,NULL);
8.保存工程,编译并运行。
在编辑框中直接输入网址并回车,你熟悉的网页将出现在你的面前.
以后,我们还可以在此基础上对它进行改进,使它的功能进一步增强和完善,最终做出具有自我风格的浏览器。
用VC制作个性化浏览器
发布时间:
2008-04-0310:
11:
28 来源:
编程爱好者网站 作者:
编程爱好者网站 点击:
832
作者:
曹朝晖
随着计算机网络技术的飞速发展,互联网上的网站越来越多,它们在内容和形式上追求特色化和个性化,其中一些精美的网页令人赏心悦目,流连忘返。
但是,目前绝大多数人使用的浏览工具却是界面单调、功能整齐划一的商用产品,在追求个性化的时代,这不能不说是一种遗憾。
下面本文介绍一种利用VC++6.0制作个性化浏览器的方法。
利用这种方法,不但可以制作出个性化的浏览器,同时还能根据需要加入比商业产品更多的安全措施。
功能特点
本文要制作的浏览器程序具有如下功能:
●自动播号功能;
●具有前进、后退、停止、刷新、搜索等功能,还可以选用自己喜欢的工具图标,定制个性化界面;
●自动网站网址记录备份功能;
●隔离不良网站功能。
在微软IE浏览器中,安全属性选项的受限站点的内容很容易被更改,使安全性大打折扣。
本文介绍的方法通过把所有能找到的不良站点放在一个数组中,经编译、链接后生成.EXE文件,他人不能更改,所以具有更高的安全性。
这种方法特别适合有小孩的家庭上网、校园学生上网和社会上的网吧管理。
实现步骤
1.首先用VC++6.0的MFCAppWizard生成一个单文档程序,在第1步到第5步时保持缺省设置,在第6步时将Cview类改为CHtmlView类。
2.在集成编辑环境下,将MicrosoftWeb浏览器控件添加到程序中,这样就可以利用该控件的函数来完成浏览器的一些有用的功能,如页面浏览的前进、后退、搜索、停止等。
由于这部分功能大多由控件直接完成,本文不再赘述。
下面重点介绍如何添加安全措施。
3.在MFCClassWizard中添加OnBeforeNavigate2程序。
下列代码用来阻止用户访问一些不良网站:
voidCSina6View:
:
OnBeforeNavigate2(LPCTSTRlpszURL,DWORDnFlags,LPCTSTRlpszTargetFrameName,CByteArray&baPostedData,LPCTSTRlpszHeaders,BOOL*pbCancel)
{
//不良网站的地址被列在CstringArray类的m_strBlockList数组中
for(inti=0;iCStringstrTemp;
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/。
为严格这种限制,程序必须能阻止访问被限制网站的所有内容。
为此,需要对上述代码进行如下修改:
voidCSina6View:
:
OnBeforeNavigate2(LPCTSTRlpszURL,DWORDnFlags,LPCTSTRlpszTargetFrameName,CByteArray&baPostedData,LPCTSTRlpszHeaders,BOOL*pbCancel)
{
for(inti=0;iCStringstrTemp;
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.因为不良网站是动态变化的,所以我们不能、也不可能把所有的不良网站都列入到禁止搜索数组中,并且经常把源程序改来改去也不方便。
为此,我们可以采取事后备案的方法,即记录近期用户所浏览的网站地址,以备日后查找和核对,这样也可以对用户起到一定的阻止作用。
在MFCClassWizard中添加OnNavigate-
Complete2程序:
VoidCSina6View:
:
OnNavigateComplete2(LPCTSTRstrURL)
{
CFilestoreURL;
//打开备份文件
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));
}
用VC++6.0制作简易浏览器
重庆 黄文平
浏览器是我们上网时必须使用的软件,我们常用的浏览器有IE、Netscape等。
面对它们,我们往往会感叹如此强大功能的软件是如何编写出来的呢?
的确,要编写一个功能完善的浏览器是很不容易的。
但是,利用当今的一些面向对象开发工具来编写一个简易的浏览器以实现它的主要功能却十分容易。
用VC++,一支烟的功夫就能办到!
不信,请跟我来。
实现原理:
ActiveX控件可以看作是OLE容器中使用的进程内服务器,但是,只有在支持ActiveX控件的OLE容器中使用它,才能发挥其所有的功能。
而VC++6.0的MFC创建的OLE容器完全支持ActiveX控件,所以它可以使用控件的属性和方法来操作ActiveX控件,同时又能以事件的形式接收Active事件的通知。
具体方法:
1.首先在VC++6.0的主窗口中选择菜单“File/New”,新建一个工程,使用“MFCAppWizard(exe)”向导,工程名为“SimpleIE”,然后单击“OK”按钮。
2.接下来会有6个向导步骤。
第一步选择“Singledocument”(单文档界面)支持,语言选择“中文”,其余按默认值,单击“Next”按钮。
3.在接下来的4个步骤(即:
Step2of6到Step5of6)中,一律保持默认值,直接单击“Next”按钮进入到下一步即可。
4.在第6步(即:
Step6of6)中,请在类列表中选中“CSimpleIEView”类,再从“Baseclass”下拉列表框中选择“CFormView”,这表示可以在程序界面的窗口中加入控件。
最后单击“Finish”按钮,直到系统生成该工程所必需的文件结束,此时,也就完成了该程序的基本框架。
5.在VC++6.0的主窗口左边选择资源选项卡,双击其中的Dialog文件夹,再双击其下的IDD_SimpleIE_FORM项,则此对话框出现在对话框编辑器中。
删除对话框上的静态文本,然后在对话框上单击鼠标右键,从弹出的快捷菜单中选择“InsertActiveXControl”命令,在弹出的“SelectActiveXControl”对话框中,从列表框中选择“MicrosoftWeb浏览器”控件,单击“OK”按钮,将该控件加入到对话框中。
进入ClassWizard,选择MemberVariable选项卡,然后选择ClassName列表框中的CSimpleIEView类,在ID列表中找到ID_EXPLORER1,为它增加一个成员变量“m_SimpleIE”(注意:
系统提示在增加控件后,保存工程中的所有文件)。
6.再在对话框上加入三个控件,静态文本“地址:
”、EDIT_BOX控件(为其添加成员变量m_URL)、一个按钮(在其属性对话框中,将Caption属性设为“链接(&L)”,选择“Styles”选项卡,将“Defaultbutton”复选框选中)。
此时的对话框外观如图1所示。
7.进入ClassWizard,选择MessageMaps选项卡,再在ObjectIds列表框中选择IDC_BUTTON1,选择Message列表框中的BN_CLICKED。
单击“AddFunction”按钮,增加一个函数,使用系统的默认函数名“OnButton1”,单击“OK”。
点击“EditCode”按钮,为此函数加入如下代码(注意字母的大小写):
UpdateData(true);
m_SimpleIE.Navigate(m_URL,NULL,NULL,NULL,NULL);
8.保存工程,编译并运行。
在编辑框中直接输入网址并回车,你熟悉的网页将出现在你的面前,如图2所示。
以后,我们还可以在此基础上对它进行改进,使它的功能进一步增强和完善,最终做出具有自我风格的浏览器。
VC++6.0 制作浏览器
(2010-07-0519:
55:
47)
转载▼
1,添加浏览器控件。
(1),在菜单中【project(工程)/AddToProject(添加到工程)/ComponentsandControl】
(2),打开对话框如图,选择【RegisteredActiveXControl】,单击【Insert】按钮
(3)、再接下来的窗口中选择添加【MicrosoftWeb浏览器】,单击【Insert】
(4)、在随后的窗口中点击“OK”,最后“close”。
就好了。
2,设计界面。
(1)添加控件“MicrosoftWeb浏览器”控件的ID为“IDC_EXPLORER1”;按钮属性为“IDC_EXPLORER_BUTTON”,标题为“浏览”。
3,添加变量。
为Web浏览器控件添加变量“m_Explorer”,类型为CWebBrowser2。
4,按钮函数代码:
m_Explorer.Navigate("",0,0,0,0);
Web浏览器控件的函数Navigate()其功能是将浏览器连接到了一个固定的URL。