C#不用Webbrowser如何做浏览器
Webbrowser就是IE啊,我想真正地做一个浏览器,而不是借助IE才能用的浏览器。要怎么做,求教程、求引导。...
Webbrowser就是IE啊,我想真正地做一个浏览器,而不是借助IE才能用的浏览器。
要怎么做,求教程、求引导。 展开
要怎么做,求教程、求引导。 展开
3个回答
推荐于2016-09-09
展开全部
你做程序不要想着从生产原材料开始做。用webbrowser可以做到很多事情,就没必要自己写。自己写解析程序,又慢又累。C#并非做不到,但是应用的知识面很广。对于初学者来说确实很难做到,但是对于老手来说如此做似乎又有些傻。我以前用vb写过一段程序就是通过协议下载网页的代码,然后做简单的分析,显示文字。原理和你说一下:
基本就是程序通过网络的一个接口获取到网址的源代码。这个接口叫什么我忘了,icp通讯协议什么的。名字不重要拉,反正就是一个可以读取到网络源代码的东东。这个东东属于windows的一部分,只要操作系统支持才行。别告诉这个东东你都不想用要自己写,那你就要用c来写了。而不是c#。
得到源代码,然后分析出head,和body,然后对里面的标签比如img,p,br等等进行分析,并且显示。分析完了。
你还需要有一个GDI来显示结果,而不是用textbox这类的插件。因为要实现图文混排,只能用这个了。现在如果用GDI+可能效果能更好一些。
然后还要有自己做鼠标键盘检测事件,响应各种反映。说简单吧,你试试不用textbox,只用GDI写一个textbox试试就知道了。复杂程度比这个要高得多。在这个上面我花了不少时间呢。
自己写的速度很慢,和ie的浏览速度没法比较。其实ie经常有bug,但是你自己写的比ie的bug还多。越到后面越麻烦。
现在的浏览器没有用c#写的,主要原因在于内存管理。浏览器对于内存要求很严格,不然你打开的网页一多,内存占用超多,影响其他程序的。其实写浏览器,如果上升到的效率问题上了,离开了c++还是真的不行。
如果你要自我挑战下,用c#写也不是不行。
基本就是程序通过网络的一个接口获取到网址的源代码。这个接口叫什么我忘了,icp通讯协议什么的。名字不重要拉,反正就是一个可以读取到网络源代码的东东。这个东东属于windows的一部分,只要操作系统支持才行。别告诉这个东东你都不想用要自己写,那你就要用c来写了。而不是c#。
得到源代码,然后分析出head,和body,然后对里面的标签比如img,p,br等等进行分析,并且显示。分析完了。
你还需要有一个GDI来显示结果,而不是用textbox这类的插件。因为要实现图文混排,只能用这个了。现在如果用GDI+可能效果能更好一些。
然后还要有自己做鼠标键盘检测事件,响应各种反映。说简单吧,你试试不用textbox,只用GDI写一个textbox试试就知道了。复杂程度比这个要高得多。在这个上面我花了不少时间呢。
自己写的速度很慢,和ie的浏览速度没法比较。其实ie经常有bug,但是你自己写的比ie的bug还多。越到后面越麻烦。
现在的浏览器没有用c#写的,主要原因在于内存管理。浏览器对于内存要求很严格,不然你打开的网页一多,内存占用超多,影响其他程序的。其实写浏览器,如果上升到的效率问题上了,离开了c++还是真的不行。
如果你要自我挑战下,用c#写也不是不行。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询