为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

Delphi下网页广告拦截技术的实现

2017-10-23 6页 doc 21KB 15阅读

用户头像

is_496339

暂无简介

举报
Delphi下网页广告拦截技术的实现Delphi下网页广告拦截技术的实现 2012-07-19################2012-07-19#######2#012-07-19######## Delphi 下网页广告拦截技术的实现 张福峰,李文广 (沧州职业技术学院 信息工程系,河北 沧州 061001) 摘 要:介绍了网页弹出式广告窗口拦截的原理,并给出了在 Delphi7.0 环境下自动关闭网页广告窗口的两 种实现方法及关键部分的程序代码。 关键词:Delphi7;网页广告;拦截 中图分类号:TP393文献标识码:A 文章编号:1008-...
Delphi下网页广告拦截技术的实现
Delphi下网页广告拦截技术的实现 2012-07-19################2012-07-19#######2#012-07-19######## Delphi 下网页广告拦截技术的实现 张福峰,李文广 (沧州职业技术学院 信息工程系,河北 沧州 061001) 摘 要:介绍了网页弹出式广告窗口拦截的原理,并给出了在 Delphi7.0 环境下自动关闭网页广告窗口的两 种实现方法及关键部分的程序代码。 关键词:Delphi7;网页广告;拦截 中图分类号:TP393文献标识码:A 文章编号:1008-4762(2007)01-0058 -01 一、 引言T_workA,T_view:integer; 提到网页弹出式广告,我们都不会陌生,无论是新浪、网 rect1rect2Rect,:T;易还是个人网站,我们在上网浏览时时都会弹出几个广告窗 begin 口。这些窗口一个个的关掉十分麻烦,而且如果不关的话又会 占用大量的系统资源,真让人厌烦。本文介绍了在 Delphi中通 mainHD:=FindWIndowEx(0,0,'IEframe',nil); if 过软件编程来实现对广告窗口自动关闭的实现原理及方法。 Mainhd<>0 then 二、设计思路与实现方法begin WorkAHD:=FindWindowEx(Mainhd,0,'WorkerW',nil); 广告窗口实际上也是一个 IE 窗口,它是通过调用 Script GetwindowRect(WorkAHD,rect1); 脚本语言实现动态弹出广告窗口的。下面将针对广告窗口的类 T_workA:=rect1.top; 名和标题进行分析,给出具体的拦截方法。 ViewHD:=FindWindowEx(mainHD,0,'Shell DocObject 1(按窗口类名进行拦截 为了弄清广告窗口与正常窗口的 View',nil);区别,对 Win98/XP/2000 if viewHD<>t0h en 系统下的 IE 窗口类名进行了监测。结果发现 Win98 下第一个 begin IE 浏 览 窗 口 的 类 名 是 IEFrame , 新 窗 口 的 类 名 GetwindowRect(ViewHD,rect2);为 T_view:=rect2.top;CabinetWClass,广告窗 口 的类名是 CabinetWClas;s 在 if T_View=T_WorkAWinXP/2000下正常 IE 窗口以及广告窗口的类名都是 IEFrame, thenPostMessage(MainHD,WM_CLOSE,0,0); 我的电脑等资源浏览窗口的类名为 CabinetWClass。经进一步 end;研究发现,win98 下广告窗口的 WorkerA类 和 Shell DocObject end;View 类的 rect.top的值是相同的,正常 IE 窗口的 WorkerA类 end;和 Shell DocObject Vie w 类的 rect.top 的值是不相同的,在 上述代码实现了 WinXP/2000下弹出广告 窗口的关闭,将 WinXP/2000没有 WorkerA类 ,被 WorkerW类取代 。因而实现 “ IEFrame ”改为“ CabinetWClass”, 将 “ WorkerW ”改为 广告窗口的拦截关闭,只需针对不同系统,判断 IE 窗口的类 “WorkerA,可”实现 Win98下的广告窗口关闭。大多聊天室 名以及窗口的 WorkerA(WorkerW)类和 ShellDocO bjectVi ew 窗口具有上述广告窗口的特征,因而也会被关闭。目前有些网 类的 rect.top值是否相同来确定是否为广告窗口。 页广告窗口的类名是“ADHELPER-IAD2,”而不是“IEFrame。” 另在程序实现 时,我们对 打开窗口进 行搜索,通 过 外,一些不具有上述特征的链接窗口的弹出时也不能被关 FindWIndowEx找到符合条件的窗口,用 PostMessage向窗口 闭。通过结合下面的标题监测法,可准确实现广告及无用窗口 发送 CLOSE 将其关闭。为了能及时阻止广告窗口的弹出,可 的关闭,避免出现误关、漏关的情况。 以设置定时器,定时检测并关闭广告窗口。下面是程序实现的 2(按窗口标题拦截关键代码: 打开的每个窗口都有自己标题名称,要想实现关闭某个或 procedureTForm1.Timer1 Timer(Sender:TObject); var MainHD,WorkAHD,ViewHDTHandle:; (下转第 60 页) * 收稿日期:2006-10-09 作者简介:张福峰(1974—),男,河北南皮人,沧州职业技术学院讲师,主要从事计算机教学及软件开发; 2012-07-19################2012-07-19#######2#012-07-19########李文广(1970— ),男,河北盐山人,沧州职业技术学院实验师,主要从事微机教学及软件开发。 2012-07-19################2012-07-19#####2#0#1#2-07-19########以 CICS Server为主体 ,使用 CICS 完成对交易的调度、管理,对数据库资 也是多种多样,开发一套绝对通用的通信程序几乎也是不可能的。为了实 源的访问。CICS 服务端启动之后,监听 CICS 客户端的请求;当客户端现集成化通信接入,设置一个第三方通信转接服务模块(通常与交易监听 请 模块整合在一起),用来集成所有与第三方响应系统的通信,在它与交易处 求到达时,调用 CICS 交易的主控模块,由主控模块根据不同的交易请求调 理系统之间定制、规范的数据交换接口,交易处理模块调用通用的通 用不同的交易处理程序。主控模块完成的主要工作:接收交易请求包,数 信程序请求第三方服务,然后由该服务模块转发至第三方系统处理。 据包加、解密,报文格式转换,业务控制处理,记载平台日志,发送 结束语返回数据包等。在交易处理程序中,可以利用 CICS 提供的 API 接口 总之,基于 CICS 中间件技术的银行中间业务软件平台通过符合行业标 CICS 的服务。CICS 服务端启动之后,自动建立对数据库多个的连接,供 准的软件平台来加速价值的转化,可以定义、集成和自动化软件开发的业 交易调用。针对银行中间业务特点,实现了以下连接: 务和流程,还提供完整的建立、集成、现代化和部署软件的端到端平台, (1)对柜台终端,外围系统的接口。平台位于柜台终端,外围系统和 通过减少混乱和增加可预测性来提高效率。其面向银行业特点,达到最大 CICS 之间设有监听模块,通过启动不同的监听服务(Socket、MQ、CICS 化效率、缩短投资回报时间、增加业务灵活性的目的。随着经济的发展和 等)监听柜面终端和外围发来的交易请求,并负责将其转发给 CICS 服务端 软件技术的不断进步,这一软件平台定将得到更广泛的应用和发展。 (中间业务平台主控程序)由 CICS Client端发送给 CICS Server端。对于 比较常用的通信控制可通过简单配置来实现,对于比较个性化的通信提供 参考文献:了灵活的动态库接口,可以根据需要动态增加新的通信模块,来处理与不 [1] 宋晓梁,刘东生,许满武,等.中间件及其在三层客户机/服务器模型 中的应用[J].计算机应用,1999,(7). 同系统之间通信的差异性。 [2] 刘发贵,王宇君,等.IBM S/390 事务处理 CICS[M].浙江大学出版社, (2)对银行主机的接口。提供了和网关机进行数据交换的功能,CICS 2000. 主控模块将中间业务平台格式的数据转为网关机的数据格式,发送给网关 机,最终上主机,并取得返回结果,还原到中间业务平台的数据格式。这 种的优点是系统一致性好,减少了主机对下的接口,同时将调用主机 [责任编辑:尤书才]接口所需的打包、解包等过程上移至网关处理,从而可以简化交易的开发。 (3)与第三方响应系统的接口。所谓“第三方”,是指银行为之提供 (上接第 58 页) 某一类标题窗口不是什么难事,只需将要关闭窗口的标题或部 hCurrentWindow:=Getwindow(hCurrentwindow,GW_HWndNext); 分标题写入特征库,在拦截时加以判断即可。在程序实现时, end;我们对打开窗口进行枚举搜索,窗口标题与特征库中数据比 较,匹配则 进行相应操 作。对窗口 的枚举搜索 是通过 end; Getwindow(handle,GW_HWNDFIRST) 和 Getwindow(handle, 上述代码实现了查找并关闭新浪弹出的“背投广告”窗口 的GW_HWndNext)来实现的。下面是程序的关键代码: 功能,稍加修改就可实现关闭那些所有垃圾窗口的功能。 procedureTForm1.Button2Click(Sender: TObject); 三、小结 var hCurrentWindow:HWnd;szText:array[0..254] char; of 本文实现了通过IE窗口的类名、标题来关闭广告窗口的功 能。由于驻留内存实时监控,在程序编制时,尽量控制好程序 begin hCurrentWindow:=Getwindow(handle,GW_HWNDFirst); 大小,减少内存资源占用。文中涉及的方法具有一定的通用性, while hCurrentWindow<>0 do 可以将其用于进程监控,也可以用来实现对硬盘分区的封锁, begin限制对硬盘的访问。 if Getwindowtext(hcurrentWindow,@sztext,255)>0 then begin if pos('背投广告',sztext)>0 参考文献: thenPostMessage(hCurrentWindow,WM_CLOSE,0,0); [1] 飞思科技产品研发中心( Delphi 7 高级应用开发[M](电 end;子工业出版社,2003( [2] 陈 省(Delphi 深度探索[M](华中科技大学出版社,2002( [责任编辑:尤书才] Implementation of Webpage Advertising Intercept Technology under Delphi ZHANG Fu-feng,LI Wen-guang (Department of Information Engineering, Cangzhou Vocational College Of Technology,CangZhou 061000) Abstrac t : This paper introduces the Intercept Principle of Webpage Pop-up Advertising,and gives two practical implementation method and some Key Parts examples code under Delphi. Key words: Delphi7.0;Webpage Advertising;Intercept ?60? Your requestcould not be processed becauseof a configurationerror: "Could not connect to LDAPserver." For assistance,contact your network support team. file:///C|/Users/Administrator/Desktop/新建文本文档.txt 涵盖各行业最丰富完备的文献,最前瞻权威的行业动态,是专业人士的不二选择。 file:///C|/Users/Administrator/Desktop/新建文本文档.txt2012/8/26 12:19:58
/
本文档为【Delphi下网页广告拦截技术的实现】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索