付林林:
2001年计算机专业毕业。从毕业起一直从事软件开发工作。目前从事 Windows CE 下操作系统内核定制和应用程序开发。在实际工作中积累了CE下开发的一些经验。希望和 CE 下开发者交流、探讨,更希望你们能不吝赐教。我的EMail:windowsce@tom.com
进入作者专栏
正文IESAMPLE和IESIMPLE的许多配置参数都来自注册表,因为他们都采用同一种控件。还有一些配置如Internet选项,IESAMPLE能够根据控制面板中Internet选项对话框中的配置来工作,而这个选项对话框对IESIMPLE不起作用。唯一的办法是修改源码,在源码中设置参数。本篇文章先列举了常见的IE注册表设置,之后讲解如何在IESIMPLE源码中设置参数替代Internet选项对话框。
常见的IE注册表设置
注册表位置:HKEY_CURRENT_USER\Software\Microsoft\Internet EXPlorer\Main
值
作用
StartPage : REG_SZ
主页URL
SearchPage: REG_SZ
搜索页URL
NoNewWindows : REG_DWord
只在一个窗口中打开网页,不管是否指定在新窗口中打开
SBSizeV : REG_DWORD
竖滚动条的宽度,范围在0到400
SBSizeH : REG_DWORD
横滚动条的高度,范围在0到400
SmoothScroll: REG_DWORD
当用户按滚动条时,窗口是否平滑的滚动
Focus Rectangle : REG_DWORD
是否显示焦点矩形,假如是,焦点变为矩形
Force-Fit Layout : REG_DWORD
是否让网页内容强制显示在当前窗口范围内。假如强制则没有横滚动条
StackRes
每个线程栈的大小
Scrollbar
是否显示竖滚动条
...\Main中其它设置见ie.reg文件。
注册表位置:HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Image Caching
值
作用
Cache Size : REG_DWORD
图片缓存的大小,默认1048576B。具体大小应该根据实际情况定
Item Size : REG_DWORD
每个缓存块的大小。默认131072B
Max Items : REG_DWORD
缓存块数。默认128个
注册表位置:HKEY_LOCAL_MACHINE\System\GDI\GLYPHCACHE
值
作用
Limit : REG_DWORD
文字缓存。默认00004000 (16kb)。双倍会增进文字显示的速度
在源码中设置参数
在IESIMPLE源码中找到函数STDMETHODIMP CMainWnd::GetHostInfo(DOCHOSTUIINFO *pInfo),在代码中找到pInfo->dwFlags,
这个标志可以设置的参数参见MSDN中标题为“DOCHOSTUIFLAG Enumerated Type”的文档。比如DOCHOSTUIFLAG_DISABLE_HELP_MENU(不显示帮助菜单)、DOCHOSTUIFLAG_DIALOG(不能选择文本)、DOCHOSTUIFLAG_DISABLE_SCRIPT_INACTIVE(不执行任何脚本)、DOCHOSTUIFLAG_NO3DBORDER(不用3D边框)等。
找到函数STDMETHODIMP CMainWnd::Invoke ,在代码中找到case DISPID_AMBIENT_DLCONTROL: 和pvarResult->lVal,这个值可以设置的参数参见MSDN中标题为“About the Browser”的文档(查DLCTL_DLIMAGES更轻易得到该文档)。比如DLCTL_DLIMAGES(可以下载图片并显示)、DLCTL_VIDEOS(可以下载视频片断)、DLCTL_NO_DLACTIVEXCTLS(不下载Active x控件)、DLCTL_NO_Java(不执行java程序)等。
关于《CE内核定制和应用程序开发》一书,实在是让大家失望,也让我失望。出版社说要明年3月才出版,和其它嵌入式书一起出版。我也没办法啊!