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程序)等。