打印

不错的**,帮你贴下图片

[复制链接]
3496|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
petterlux|  楼主 | 2008-1-30 10:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
 现在基于CE的产品,大多数都具有上网浏览的功能,因此在这里我跟大家讨论一下关于CE下浏览器的问题。
Windows CE提供了两种IE浏览器的源码:IESAMPLE和IESIMPLE。他们的存放路径是:%_winceroot%publicieoak。IESAMPLE和IESIMPLE的许多配置参数都来自注册表,因为他们都采用同一种控件。
还有一些配置:如Internet选项,IESAMPLE能够根据控制面板中Internet选项对话框中的配置来工作,而这个选项对话框对IESIMPLE不起作用。如果想用IESIMPLE,唯一的办法就是修改源代码,在源码中设置参数。
首先,咱们看看如何在IESIMPLE源码中设置参数替代Internet选项对话框。
1、在IESIMPLE源码中找到函数:
    STDMETHODIMP CMainWnd::GetHostInfo(DOCHOSTUIINFO *pInfo);
2、在代码中找到pInfo->dwFlags,这个标志可以设置的参数,如:
    DOCHOSTUIFLAG_DISABLE_HELP_MENU:不显示帮助菜单、
    DOCHOSTUIFLAG_DISABLE_SCRIPT_INACTIVE:不执行脚本、
    DOCHOSTUIFLAG_DIALOG:不能选择文本、
    DOCHOSTUIFLAG_NO3DBORDER:不用3D边框
需要注意的是自动完成功能在浏览器控件中默认是禁用的,但是可以通过IDocHostUIHandler实现,在GetHostInfo方法中在填充DOCHOSTUIINFO结构的dwFlags成员时,设置DOCHOSTUIFLAG_ENABLE_FORMS_AUTOCOMPLETE标识位。
以上代码设置我们可以做到:
    能禁用浏览器的3D的边缘
    能避免滚动条或改变他们的外观
    能禁用脚本
    能定义双击处理的方式
    能禁用浏览器的自动完成功能
3、找到函数STDMETHODIMP CMainWnd::Invoke 
4、在代码中找到case DISPID_AMBIENT_DLCONTROL: 和pvarResult->lVal,
为了设置浏览器控件的下载、显示设置和执行的控制权,可以改变的参数如下:
    DLCTL_DLIMAGES、DLCTL_VIDEOS 和 DLCTL_BGSOUNDS: 如果这些标识被设定,图像,视频和背景音乐将会被从服务器下载并且显示或播放,否则将不被下载和显示。 
    DLCTL_NO_SCRIPTS 和 DLCTL_NO_JAVA: 脚本和java小程序将不被运行。 
    DLCTL_DOWNLOADONLY: 网页只将会被下载,不显示。 
    DLCTL_NO_FRAMEDOWNLOAD:浏览器控件将会下载并且解析框架集页面,但是不会下载和解析框架集中单独的框架。 
    DLCTL_RESYNCHRONIZE 和 DLCTL_PRAGMA_NO_CACHE: 这些标志导致Internet缓冲的刷新。通过 DLCTL_RESYNCHRONIZE,服务器将会被请求更新状态。如果服务器指出缓存信息是最新的,将会使用 缓存文件。通过DLCTL_PRAGMA_NO_CACHE,不管文件的更新状态如何,文件都会被从服务器重新下载。 
    DLCTL_NO_BEHAVIORS: 行为不被下载并且在文件中被禁用。 
    DLCTL_NO_METACHARSET_HTML: 忽略在META元素中指明的字符集。 
    DLCTL_NO_CLIENTPULL: 不运行客户端重定位页面操作 
    DLCTL_SILENT: 在下载期间没有用户界面显示。 
    DLCTL_FORCEOFFLINE: 浏览器控件总是在脱机模式中操作。 
注:可以在网上寻找About the Browser文件作为参考。

接下来,咱们可以看看常见的IE注册表设置,参见以下列表。
1、Main的设置:
其所在位置是:HKEY_CURRENT_USERSoftwareMicrosoftInternet ExplorerMain
http://uphotos.**/habinuo121/pics/016ee2b5dbe9dc3cb0a170858426170c.jpg
注:对于注册表HKEY_CURRENT_USERSoftwareMicrosoftInternet ExplorerMain中其它设置,需要参见ie.reg文件。

2、GLYPHCACHE的设置
其所在位置是: HKEY_LOCAL_MACHINESystemGDIGLYPHCACHE
http://uphotos.**/habinuo121/pics/19ede4979f9a79da2714dbc80d822873.jpg

3、Image Caching的设置
其所在位置是:HKEY_LOCAL_MACHINESoftwareMicrosoftInternet ExplorerImage Caching 
http://uphotos.**/habinuo121/pics/df9a84acb1e58d71f0a120924e23d243.jpg

小结:
现在还有许多技术可以根据自己的处理来自定义浏览器控件。在这里抛砖引玉,希望可以和大家一起讨论。

相关帖子

沙发
xwj| | 2008-1-30 10:45 | 只看该作者

不错的**,帮你贴下图片

接下来,咱们可以看看常见的IE注册表设置,参见以下列表。
1、Main的设置:
其所在位置是:HKEY_CURRENT_USERSoftwareMicrosoftInternet ExplorerMain

注:对于注册表HKEY_CURRENT_USERSoftwareMicrosoftInternet ExplorerMain中其它设置,需要参见ie.reg文件。

2、GLYPHCACHE的设置
其所在位置是: HKEY_LOCAL_MACHINESystemGDIGLYPHCACHE


3、Image Caching的设置
其所在位置是:HKEY_LOCAL_MACHINESoftwareMicrosoftInternet ExplorerImage Caching 

使用特权

评论回复
板凳
petterlux|  楼主 | 2008-1-30 10:47 | 只看该作者

Windows CE 的浏览器配置

晕,我贴的图怎么显示不出来呢!!!

使用特权

评论回复
地板
小石头强子| | 2008-1-31 12:17 | 只看该作者

Windows CE的核心有几种版本?

LZ人品问题...Windows CE的核心有几种版本?

使用特权

评论回复
5
petterlux|  楼主 | 2008-2-1 12:19 | 只看该作者

Windows CE的核心有几种版本?

今已经有1.0、2.0、3.0叁种版本,若细分小改版则是不计其数。

使用特权

评论回复
6
小石头强子| | 2008-2-2 12:06 | 只看该作者

我用日语版的 Windows CE Services为什么总出错?

我用日语版的 Windows CE Services为什么总出错?

使用特权

评论回复
7
petterlux|  楼主 | 2008-2-27 00:34 | 只看该作者

我用日语版的 Windows CE Services为什么总出错?

日语版的 Windows CE Services 只能用于 Windows 95 日语版。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

35

主题

140

帖子

0

粉丝