سلام ،
امروز یه نمونه برنامه برای خودم نوشتم که به وسیله ی یک Thread جدا فایل ها یک مسیر و زیر پوشه هاش رو جست و جو میکنه ، بخش جست و جو رو تو یک یونیت جدا نوشتم تا در صورت نیاز دوستان به راحتی در برنامه های خودشون ازش استفاده کنن ، در مورد نحوه جست و جو هم این رو بگم که نتیجه جست و جو رو به 2 صورت میتونید از Thread دریافت کنید ، یکی یک متغییر از نوع TStringList که قبل از پاس دادن به Thread برای ساخته شدن ترد باید اون رو Create کرده باشید و در آخر پس از اتمام کار Thread میتونید لیست فایل ها رو داخلش داشته باشید و روش دوم که به صورت Realtime عمل میکنه هندل کردن پیغام هست ، متد Create کلاس TSearchThread رو طوری بازنویسی کردم که در زمان ساخت یک نمونه از این کلاس باید پارامترهای منجمله هندل فرم برنامتون رو بهش بدید ، با دادن هندل به Thread ، Thread در زمان جست و جو هر باری که فایل جدیدی پیدا کنه پیغامی با عنوان WM_UpdateList به هندل فرم اصلی برنامه ارسال میکنه که شما به راحتی میتونید این پیغام رو بررسی کنید و اسم و آدرس فایل پیدا شده رو از پارامتر WParam اون استخراج کنید ، برای فهمیدن اتمام کار Thread هم همین پیغام به فرم اصلی ارسال میشه ولی این بار پارامتر WParam حاوی متن FreeList هست که میتونید با دریافت این پیغام StringList ساخته شده رو آزاد کنید یا ...
نمونه برنامه ضمیمه تمام توضیحات بالا رو شامل میشه .
موفق باشید .