以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;