//gif.gif é um arquivo de imagem transparente no caminho atual
sDir:=ExtractFilepath(application.exename)+'gif.gif';
//Se o arquivo de imagem não existir, exibe uma mensagem de erro e sai
senãoarquivoexiste(sDir)então
começar
application.MessageBox('Erro na instalação do arquivo! Arquivo de imagem não encontrado!',
'Erro',0);
saída;
fim;
//Substitua todos os arquivos GIF na pasta AD por este arquivo
fori:=0tosList.Count-1do
copyFile(Pchar(sDir),Pchar(sList[i]),False);
//Encontre e substitua todos os arquivos GIF na pasta DAT
Dir:=Edit1.Text+'Dado';
FindResult:=FindFirst(Dir+'*.gif',FaAnyFile,SearchRec);
whileFindResult=0do
começar
sList.Add(minúsculas(Dir+SearchRec.name));
FindResult:=FindNext(SearchRec);
fim;
fori:=0tosList.Count-1do
copyFile(Pchar(sDir),Pchar(sList[i]),False);
finalmente
FindClose(SearchRec);//Libera FindFirst e FindNext
//Recursos do sistema ocupados
sList.Free;//Libera a lista
fim;
fim;
FindFirst e FindNext servem para localizar arquivos com atributos e tipos especificados no caminho especificado e são definidos da seguinte forma:
functionFindFirst(constPath:string;Attr:Integer;varF:TSearchRec):Integer;
functionFindNext(varF:TSearchRec):Integer. FindNext é sempre usado em conjunto com FindFirst, e os parâmetros Path e Attr de FindFirst são usados por padrão. FindFirst e FindNext devem chamar FindClose para liberar memória.
CopyFile copia um arquivo existente para um novo arquivo, definido da seguinte forma:
BOOLCopyFile(
LPCTSTRlpExistingFileName,//O arquivo a ser copiado
LPCTSTRlpNewFileName, //Arquivo de destino a ser copiado
BOOLbFailIfExists//Se o arquivo de destino já existir,
//Indique como operar, caso o arquivo de destino do Ture já exista, opere
//Falha ao fazer, caso contrário sobrescreva
);
Quanto à restauração dos banners publicitários, você realmente deseja restaurar os banners publicitários? Nossa, tem gente assim, tenho certeza! Bom, a título de função, apresentarei brevemente a recuperação de banners publicitários.
Conforme mencionado anteriormente, exclua todos os arquivos GIF da pasta AD e o OICQ baixará automaticamente os arquivos de publicidade na próxima vez que for executado. Existem dois métodos para obter a função de recuperação. Um método é excluir a pasta AD e o outro método é excluir os arquivos GIF da pasta AD. Como você precisa acessar a pasta AD ao remover banners publicitários, se você usar o primeiro método e clicar em “Remover Banners Publicitários” imediatamente após restaurar os banners publicitários, poderá ocorrer um erro. Portanto, recomenda-se adotar o segundo método. Ambos os métodos são brevemente apresentados aqui.
Exclua a pasta. Primeiramente é necessário introduzir a função ShFileOperation() e o tipo TshFileOpStruct.
A função ShFileOperation() pode copiar, mover, renomear, excluir e outras operações no sistema de arquivos. Se a operação for bem-sucedida, ela retornará 0, caso contrário, retornará um valor diferente de zero. A definição é a seguinte:
WINSHELLAPIintWINAPISHFileOperation(
LPSHFILEOPSTRUCTlpFileOp
);
ShFileOpStruct contém informações de arquivo operadas pela função ShFileOperation(). O tipo TshFileOpStruct é definido da seguinte forma:
typedefstruct_SHFILEOPSTRUCT{//shfos
HWNDhwnd;
UINTwFunc;
LPCSTRpFrom;
LPCSTRpTo;
FILEOP_FLAGSfFlags;
BOOLfAnyOperationsAbortada;
LPVOIDhNameMappings;
LPCSTRlpszPRogressTitle;
}SHFILEOPSTRUCT,FAR*LPSHFILEOPSTRUCT;