PDA

View Full Version : سوال: مطلع شدن تغییرات در یک فولدر مشخص شده؟



sajadjamalian
جمعه 28 آبان 1389, 12:53 عصر
سلام دوستان:
من یه برنامه دارم که در حال اجراست، و آدرس یه فولدر مشخص رو هم دارم که فایل های این فولدر دائما در حال تغییر هست، حالا میخوام بعد از هر تغییر توی این فولدر برنامه یه پیغام به من بده، کسی میدونه باید چیکار کنم؟

rroona
جمعه 28 آبان 1389, 14:36 عصر
فایلهای درون فولدر رو تحت همون برنامه تغییر میدی یا از طریق ویندوز؟

kamran00f
جمعه 28 آبان 1389, 14:49 عصر
فایلهای درون فولدر رو تحت همون برنامه تغییر میدی یا از طریق ویندوز؟

احتمالا تحت ویندوز هست دیگه وگرنه اونجوری که کار آسون بود. به نظر من باید یه زمان ابتدا داشته باشی واسه ذخیره ی وضعیت فایل های اون فولدر (و sub folder ها) و بعد هر موقع میخوای تغییرات رو ببینی با اونی که قبلا ذخیره کردی مقایسه کنی

Felony
جمعه 28 آبان 1389, 15:04 عصر
سلام دوستان:
من یه برنامه دارم که در حال اجراست، و آدرس یه فولدر مشخص رو هم دارم که فایل های این فولدر دائما در حال تغییر هست، حالا میخوام بعد از هر تغییر توی این فولدر برنامه یه پیغام به من بده، کسی میدونه باید چیکار کنم؟

فایل هایی که تو اون پوشه هستن از چه نوعی هستن ؟ حجمشون زیاد هست ؟

میتونید تو یه تایمر CRC32 فایل های داخل پوشه رو بگیرید و در زمان مشخص ( هر چند دقیقه ) CRC32 فایل ها رو دوباره بگیرید و با CRC32 قبلی مقایسه کنید .

r00tkit
جمعه 28 آبان 1389, 15:14 عصر
just f**king google it

FileSystemWatcher (http://msdn.microsoft.com/en-us/library/system.io.filesystemwatcher.aspx)


Listens to the file system change notifications and raises events when a directory, or file in a directory, changes.

sajadjamalian
شنبه 29 آبان 1389, 13:51 عصر
just f**king google it

FileSystemWatcher (http://msdn.microsoft.com/en-us/library/system.io.filesystemwatcher.aspx)


سلام دوستان:
با راهنمایی دوستان مشکلم حل شد، گفتم بذارم اینجا شاید بدرد بقیه دوستان هم بخوره:


private void Form1_Load(object sender, EventArgs e)
{
FileSystemWatcher watcher = new FileSystemWatcher();
watcher.Path = @"C:\workfolder";
watcher.Created += new FileSystemEventHandler(OnChanged);
watcher.EnableRaisingEvents = true;
}
private static void OnChanged(object source, FileSystemEventArgs e)
{
MessageBox.Show("یک تغییر در مسیر مشخص شده");
}