用DELPHI给OICQ动手术(一)
http://www.tongyi.net
本文介绍了如何通过DELPHI的文件操作来去掉广告、屏蔽腾讯浏览器。
以OICQ2000b BUILD 0110为例,仔细分析OICQ的工作原理,可以发现,OICQ的“发送消息”窗口中的广告都保存在OICQ安装目录下的AD文件夹中,均为GIF格式的图片。当AD文件夹中的文件不存在时,OICQ调用DAT文件夹中的GIF图片,然后下载广告图片并保存在AD文件夹中,以备调用。至于腾讯浏览器,可以用微软浏览器替换回来(假定当前浏览器为微软的IE浏览器)。
明白了这些以后,就可以自己动手利用DELPHI的文件操作,来去掉广告、屏蔽腾讯浏览器了。
如图,启动DELPHI,新建工程,在FORM上放置如下控件:
关于去掉广告条,设想是先读取AD文件夹下所有GIF格式的文件,然后用一透明的小GIF图片替换,同时替换掉DAT文件夹下的GIF文件。程序实现如下:
procedure TForm1.Del_adClick(Sender: TObject);
var
SearchRec : TsearchRec;
SList: Tstringlist;
Dir, SDir :string;
i, FindResult : integer;
begin
Dir := edit1.Text; //OICQ的安装路径
SList := Tstringlist.Create; //用于保存文件列表
//判断OICQ安装路径是否正确
if not fileexists(edit1.text + 'oicq.exe') then
begin
application.MessageBox('路径不正确,请重新选择!',
'请重新选择',0);
exit;
end;
//判断路径字符串的结束符是否为“”,不是就加上“”
if Dir[length(dir)] <> '' then
Dir := Dir + '';
Dir := Dir + 'AD';
//查找该文件夹下第一个GIF文件,文件名保存在SearchRec,
//返回结果保存在FindResult中
FindResult := FindFirst(Dir + '*.gif',FaAnyFile,SearchRec);
try
while FindResult = 0 do //查找成功
begin
//在列表中加入文件名
sList.Add(lowercase(Dir + SearchRec.name));
//继续查找下一个符合条件的文件
FindResult := FindNext(SearchRec);
end;