本文介紹如何透過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;