سلام
من یک کد دارم که با اون نوعی از فایل (با پسوند t ) رو در یک آرایه میریزم.
متاسفانه ویروس یاب بارها به این کد گیر داده و فایل اجرایی رو خودکار حذف کرده.(جالبه معمولا گیر نمیده)
زیاد تعجب نکنید حتی دیدم به اسم متغیر هم گیر داده اسم متغیر رو عوض کردم برنامه اجرا شده.
var
Files:Array[1..32000] of String;
FilesNo:Word=0;
Procedure GetFiles(const sRootDir:string);
procedure Get_T_Files(const sRootDir:string);
var
srSearch: TSearchRec;
sSearchPath: string;
sltSub: TStrings;
i: Integer;
begin
sltSub := TStringList.Create;
try
sSearchPath := IncludeTrailingBackslash(sRootDir);
if FindFirst(sSearchPath + '*', faDirectory, srSearch) = 0 then
repeat
if (srSearch.Name <> '.') and
(srSearch.Name <> '..') then
begin
if ((srSearch.Attr and faDirectory) =0)
and (LowerCase(ExtractFileExt(srSearch.Name))='.t') then
Begin
Inc(FilesNo);
Files[FilesNo]:=sSearchPath + srSearch.Name;
End;
sltSub.Add(sSearchPath + srSearch.Name);
end;
until (FindNext(srSearch) <> 0);
FindClose(srSearch);
for i := 0 to sltSub.Count - 1 do
Get_T_Files(sltSub.Strings[i]);
finally
FreeAndNil(sltSub);
end;
end;
Begin
FilesNo:=0;
Get_T_Files(sRootDir);
End;
Files,FilesNo متغیر عمومی هستند چون در قسمتهای مختلف برنامه ازشون استفاده می کنم.
من فکر می کنم چون از TSearchRec استفاده می کنم یا میخوامک خصوصیات فایل رو بخونم ویروس فرض می کنه.
کسی کدی دیگه ای سراغ نداره که فایلهای با پسوند خاص رو در زیر شاخه ها بتونم لیست بگیرم.
من فقط کد بالا رو تو اینترنت پیدا می کنم(و معمولا زیر شاخه رو هم نمیگرده)