小议Windows CE 的下浏览器配置

来源:互联网 发布:程序员职业规划1000字 编辑:程序博客网 时间:2024/06/05 04:56
IESAMPLE和IESIMPLE的许多配置参数都来自注册表,因为他们都采用同一种控件。还有一些配置如Internet选项,IESAMPLE能够根据控制面板中Internet选项对话框中的配置来工作,而这个选项对话框对IESIMPLE不起作用。唯一的办法是修改源码,在源码中设置参数。本篇文章先列举了常见的IE注册表设置,之后讲解如何在IESIMPLE源码中设置参数替代Internet选项对话框。
  
  常见的IE注册表设置
  
  注册表位置:HKEY_CURRENT_USER/Software/Microsoft/Internet Explorer/Main
  
   
  
  .../Main中其它设置见ie.reg文件。
  
  注册表位置:HKEY_LOCAL_MACHINE/Software/Microsoft/Internet Explorer/Image Caching
  
   
  
  注册表位置:HKEY_LOCAL_MACHINE/System/GDI/GLYPHCACHE
  
  
  
  在源码中设置参数
  
  在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程序)等。