当前位置: 网学 > 编程文档 > DELPHI > 正文

Delphi开发嵌入式IE浏览器监控程序

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 13/07/30
 function Invoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;   Flags: Word; var Params; VarResult, ExcepInfo, ArgErr: Pointer): HResult; stdcall;private   IEThis:IWebBrowser2;   Cookie:Integer; protectedend;   注意在UIEMonitor.pas单元文件的Uses中需要手动加入对SHDOCVW, Dialogs, SysUtils, Forms的引用。   其中主要是对IObjectWithSite接口的SetSite()方法和IDispatch接口的Invoke()方法的实现:首先通过SetSite()方法获得IE的WebBrowser接口,然后寻找连接点,并且通过调用Advise()方法建立COM自身与连接点的连接;当连接建立成功后,IE在事件引发后,会调用连接到自身的IDispatch接口对象的Invoke方法,不同的事件对应不同的DispID编码,因此可以通过在程序中判断DispID对不同的事件做出相应的处理。系统主要对BeforeNavigate2、DownLoadComplete和OnQuit三个事件进行处理,它们对应的DispID分别为250、104和253。在Invoke()方法中,根据DispID分别调用DoBeforeNavigate2()、DoDownLoadComplete()和DoOnQuit()函数实现相关处理和控制功能,具体实现详见程序源代码。   (4)编译工程,生成DIEMonitor.dll文件。2.注册/卸载COM对象   注册COM对象包括注册COM对象,以及将COM对象的有关信息写入到IE浏览器扩展功能指定的注册表位置,下面分别对其注册方法进行介绍。卸载方法分别和注册方法相对应。   (1)注册/卸载COM对象。一种方法是在Delphi开发环境下运行Run|Register ActiveX Server/Run|Unregister ActiveX Server自动完成COM对象的注册/卸载;另一种方法是通过调用MS Windows操作系统提供的regsvr32.exe命令进行注册。   (2) 注册/卸载COM对象的有关信息到IE浏览器扩展功能指定的注册表位置。将COM对象的CLSID写入到IE浏览器扩展功能指定的注册表位置后,当IE浏览器启动时,就通过该CLSID查找COM对象有关信息(如文件路径),从而实现了COM对象嵌入式功能扩展。为了实现这个目的,只需要在注册表的[HKEY_LOCAL_MACHINESoftwareMicrosoft WindowsCurrentVersionExplorerBrowser Helper Objects]项下,建立一个名称为COM对象的CLSID的注册表项目即可。   3.开发监控模块   监控模块主要完成对IE浏览器的监控功能,在Invoke()函数中触发BeforeNavigator2事件时调用执行,主要包括ChkUrl()、WriteSite()、WriteLog()和GetIP()四个功能函数,分别完成检查URL(及IP地址)、记录URL和IP地址、记录系统日志、根据URL取得IP地址的功能,分别简单介绍如下,具体实现详见程序源代码。   (1)ChkUrl()函数:它是监控模块的核心函数,也是模块的入口函数。ChkUrl()函数首先取得用户请求的URL,并且调用GetIP()函数取得其对应的IP地址,然后到系统中查找该URL及IP是否已经存在,如果存在则根据系统保存的结果禁止/允许用户访问,否则就根据系统的当前工作状态(禁止/允许)动态处理,同时调用WriteSite()函数将该URL和IP地址保存到系统中。最后调用WriteLog()函数记录系统日志。   (2)WriteSite()函数:完成将URL和IP地址保存到系统中的功能,同时记录系统当前日期和时间。   (3)WriteLog()函数:将有关信息形成系统日志并且保存下来,主要有网络URL和IP地址、用户名称、访问日期和时间、处理结果(禁止/允许访问)等信息。   (4)GetIP()函数:提供根据URL取得对应IP地址的功能,通过调用TNMHTTP组件的相关功能实现:首先将URL赋值给TNMHTTP组件的Host属性,然后调用ResolveRemoteHost()方法,就可以从其RemoteIP属性中获得对应的IP地址。   4.开发维护程序   维护程序主要实现系统参数维护和日
  • 上一篇资讯: Delphi中WebBbrowser应用
  • 网学推荐

    免费论文

    原创论文

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号