سلام دوستان
چگونه میتوان یک پوشه در مسیر دلخواه گرفت و از آن محافظت کنیم به این صورت که
با اعمال هر تغییر در فایل ها یا فولدرهای این پوشه تغییرات مورد نظر برگشت داده شود.
یعنی فایل یا فولدر مربوط به حالت اول خود برگردانده شود.
با تشکر
سلام دوستان
چگونه میتوان یک پوشه در مسیر دلخواه گرفت و از آن محافظت کنیم به این صورت که
با اعمال هر تغییر در فایل ها یا فولدرهای این پوشه تغییرات مورد نظر برگشت داده شود.
یعنی فایل یا فولدر مربوط به حالت اول خود برگردانده شود.
با تشکر
با استفاده از FileSystemWhatcher میتونی یک پوشه رو زیر نظر بگیری .
اگر خواستی بگو طریقه استفاده ازشو بهت بگم.
سلام
با FileSystemWatcher مي توني اينكار رو بكني.
فايل رو دانلود كن .
خیلی ممنون دوستان
من از راهنمایی شما استفاده میکنم و اگه نتونستم دوباره ازتون کمک میگیرم
خب دوستان من از این کنترل استفاده کردم اما در برنامه میخوام از تغییرات ایجاد شده جلوگیری کنم و نذار هیچ تغییری روی فایل یا پوشه مورد نظر اعمال شود.
در ضمن وقتی که مشخصات فایل یا پوشه را تغییر میدهیم این کنترل هیج عکس العملی نشان نمی دهد.
در حالت کل برنامه من میخواد هر تغییری که بر روی فایل یا پوشه مورد نظر اعمال میشود را خنثی کند و آن فایل یا پوشه را بصورت حالت اولیه خود همیشه حفظ کند.
تشکر
دوستان کسی نیست جواب سوالمو بده؟
نه دیگه مثل اینکه دیگه کسی پاسخگو نیست!
چرا فایل رو قفل یا فقط خواندنی نمیکنید؟
فکر میکنم بتونید ازSystem.IO NameSpaceاستفاده کنید
دوست گرامی منظورم اینه که به هر طریقی نگذاریم هر تغییراتی که در فایل یا پوشه مورد نظر اعمال میشه برنامه ما اون رو خنثی کنه، یعنی اگر اسم فایلی رو دارم تغییر میدم برنامه من جلوی این کارو بگیره،اصلاً نذاره اون فایل یا پوشه تغییر کنه، تابع apiآن findfirstchangenotifiaction تغییرات ایجاد شده را به همراه چند تابع دیگر به ما اطلاع میده ولی من تو خود سی شارپ دنبال این قابلیت می گردم!
حالا در كل نميدونم شما ميخواي چيكار كني!
بعضي چيزها رو ميشه بدون برنامه نويسي يا يه برنامه نويسي ساده حل كرد!
ولي يادمه قديما يه ترفندي بود كه پوشه رو تبديل ميكرد به يه فايل!
يا جلوي نام پوشه يه GUID وارد ميكرديم، پوشه تبديل ميشه به لينك Control Panel!
- مثلا يه پوشه بسازيد و نامش رو به اين نام تغيير بديد:
New Folder.{21EC2020-3AEA-1069-A2DD-08002B30309D}
اين روشي بود كه ميشد پوشه ها رو مخفي كرد!
البته شما ميتونيد از اين روشها استفاده كنيد تا از تغيير فايلهاي درون پوشه جلوگيري كنيد!
سايت Tarfandestan كلي از اين مطالب داره!
امیدم به دستان زیبای اوست . آنکه می آید . همان که نامش منجی ست ....
به راستی اگر غرق نبودیم چرا مارا به منجی ای نیازمند کرده اند؟ ... دنیا دریاست ....
دلنوشته های من
با استفاده از روش ذیل میتونی برای فولدرت پسورد بزاری . دوستان اگه کسی راه دور زدنش بلده بگه!
http://www.trap17.com/index.php/best...on_t55662.html
زرشک:
اول باید بری روی Tools بعد از قسمت Folder Option باید به قسمت View رفت و تیک هیدن سیستمی رو برداشت بعد پوشه به اسم دیگه ای وبه شکل دیگه ای دیده می شه حالا با سه تا صلوات اسم اونو عوض کن و هرچی خواستی بزار حالا بازشکن.
خب دوستان بحث ها خیلی جالب شد ما با روش های مختلف محفاظت آشنا شدیم ولی منظور اصلی این تاپیک این بود که به هر طریقی شده نذاریم فایل یا پوشه ما تغییر کند چه از لحاظ(تغییر نام، تغییر مشخصات، حذف ، ایجاد و ...)توابع api ایی وجود دارند که این کار رو برای ما انجام می دهند مثل FindFirstChangeNotification و FindNextChangeNotification این کار منو انجام می دهند.
با سلام
دوست عزیز فکر کنم کاری که شما میخاین انجام بدین به این سادگی ها نباشه . چون چیزی که مد نظر شماست باید قبل از اعمال تغییرات باشه نه بعدش(FileSystemWacther).این نوع برنامه نوشتن رو باید سیستم عامل برای شما امکان پذیر کنه و اینکه سیستم عامل برنامه نوشته شده از سوی برنامه نویس رو مقدم بر هر اقدامی از سوی خودش بدونه و این نوع پیاده سازی با C++ سروکارداره و واقعا سخت و صد البته نتیجش هم شیرینه.
چیزهایی مشابه خواسته شما رو در مقاله های MSDN دیدم. اما به صورت اتفاقی و خیلی با سیستم عامل تعامل داشت.اگه تو سایت MSDN بگردی شاید پیدا کنی.
آره دوست من ، اون 2 تابع api که گفتم به محض تغییر در فایل یا پوشه به ما نتیجه را اعلام میکند فکر کنم یه راهش این باشه که ابتدا از اون پوشه یا فایل یک کپی قبل از تغییر داشته باشیم و بعد از تغییر آن را به جای اول خود رونویسی کنیم
نمی دونم این نمونه برنامه می تون کمکتون کنه یا نه ولی خودم تست کردم
لینک منبع
دوستان یه سوال دیگه.
چطور میشه مانند مدیا پلیر فایلی رو که در حال پخش است و ما اگر بخواهیم از پوشه مورد نظر فایل رو پاک کنیم ویندوز پیغام خطا به ما میده. چطور میتوانیم در سی شارپ برای محفاظت از پاک شدن یک فایل یا پوشه در برنامه مان مانند مدیا پلیر این کار رو انجام بدیم.
media player چون فایل رو باز می کنه لاک میشه و شما نمی تونی اونو دیلیت کنی
شمام یک windows service بنویس که فایلت رو باز نگه داره تا کسی پاکش نکنه !
میشه برای پوشه هم این کار کرد که ازش محفاظت شه؟