送的分不好得:给你个去掉ICQ广告条的例子:
设想是先读取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; //用于保存文件列表
//判断路径字符串的结束符是否为“”,不是就加上“”
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;
// gif.gif为当前路径下的一透明图片文件
sDir := ExtractFilepath(application.exename)+ 'gif.gif';
//如果图片文件不存在,则显示错误信息并退出
if not fileexists(sDir) then
begin
application.MessageBox('文件安装错误!图片文件未找到!','错 误',0);
exit;
end;
//用该文件替换掉AD文件夹下的所有GIF文件
for i := 0 to sList.Count - 1 do
copyFile(Pchar(sDir) ,Pchar(sList[i]),False);
//查找并替换掉DAT文件夹下的所有GIF文件
Dir := Edit1.Text + 'Dat';
FindResult := FindFirst(Dir + '*.gif',FaAnyFile,SearchRec);
while FindResult = 0 do
begin
sList.Add(lowercase(Dir + SearchRec.name));
FindResult := FindNext(SearchRec);
end;
for i := 0 to sList.Count - 1 do
copyFile(Pchar(sDir) ,Pchar(sList[i]),False);
finally
FindClose(SearchRec); //释放FindFirst和FindNext
//占用的系统资源
sList.Free; //释放列表
end;
end;