ورود

View Full Version : اجازه گرفتن ویندوز هنگام کپی، تغییر نام و حذف فایلها



فرهاد.ف
سه شنبه 08 اسفند 1385, 08:37 صبح
با سلام و عرض ادب به همه دوستان عزیز.
سوال من اینه که میخواستم یه برنامه‌ای بنویسم که اگه هر فایلی در یک دایرکتوری خاصی مثل C:\Test خواست کپی شه یا Rename شه،
اول از برنامه من اجازه بگیره بعد بریزه. چون فایلهایی که در اون دایرکتوری میبایست ریخته بشه باید نام خاصی داشته باشه و از این طریق میخام که فایلهای غیر استاندارد تعریف شده من اون تو ریخته نشه. ناگفته نمونه که فایلها توسط برنامه من در اون دایرکتوری ریخته نمیشه و از طریق خود ویندوز مثل Explorer ریخته میشه.
خیلی به این موضوع احتیاج دارم، اگه دوستان محبت کنن و جواب بدن خیلی ممنون میشم.

oVERfLOW
سه شنبه 08 اسفند 1385, 08:51 صبح
برای این کار روش معمولی وجود نداره

خیلی کار پیچیده‌ای هست و باید ساعت‌ها روش کار کنید
راه دقیق و بدون اشتباهش می‌تونه Hook توابع API باشه که کار سختی هست...

یه راه دیگه اش هم Hook گذاشتن روی شاخه هست
که البته در اون صورت از شما اجازه گرفته نمی‌شه بلکه وقتی فایل ایجاد شد، شما مطلع می‌شید و می‌تونید اون رو حذف کنید یا تغییر نامش بدید...

فرهاد.ف
سه شنبه 08 اسفند 1385, 08:56 صبح
آخه Notify کردن یک دایرکتوری مشکل منو حل نمیکنه چون به هر حال فایله کپی یا ... میشه، اگه بعدشم بخام هی فایلهای اشتباه رو کپی کنم زیاد معقول نیست.
باید از روش اول استفاده کرد ولی راهنمایی بیشتری میخام

oVERfLOW
سه شنبه 08 اسفند 1385, 10:57 صبح
خوب پس می‌مونه راه اول
این مقاله رو که خیلی وقت پیش ترجمه کردم رو دانلود کنید و اگه چیزی سر در اوردید برنامه اش رو با دلفی بنویسید !

http://overflow.persiangig.com/oVERfLOW-HookingPersian.rar
(سورس با اسمبلی هست)

orion188
سه شنبه 08 اسفند 1385, 16:11 عصر
حالا چرا با اسمبلی؟!
تو Help خود دلفی و Win32 بگردین راجع به Hook کلی گفته.
نمونه برنامه هم با سرچ رو وب راحت گیر میاد.

oVERfLOW
چهارشنبه 09 اسفند 1385, 10:01 صبح
هر کی که اسمش Hook بود که توی Help دلفی نیست !
این HoOk سطح پایین هست
یعنی تغییر در محتوای دستورات API ویندوز تا بشه اونا رو به دام انداخت و قبل از اینکه اجرا بشن
شما هر کار خواستی انجام بدی
این کارا فقط توی سایت‌های زیر زمینی پیدا می‌شه

orion188
چهارشنبه 09 اسفند 1385, 11:32 صبح
سلام
امیدوارم پاسخ من حمل بر « کل کل » نشه.
اما فکر میکنم بهتر باشه دوستانی که سوال میکنن به منابع ساده تری معرفی بشن.
چرا دوست من، تو همون help دلفی هم می تونن پیداش کنن (چون خودش Help ویندوز 32 رو هم داخلش داره). تمام دستوراتی که استفاده میشن رو میتونه پیدا کنه.
مسلما استفاده از زبان اسمبلی هم یکی از راههای ممکنه. ولی اسمبلیه دیگه ....
فرهاد عزیز، ببینید این لینک میتونه کمکتون کنه؟
http://www.codeproject.com/system/hooksys.asp

dkhatibi
پنج شنبه 10 اسفند 1385, 05:31 صبح
یک روش غیر منطقی ولی اسان و خیلی بد هم وجود دارد.
به کمک یک برنامه که در حافظه می ماند .به طور مداوم محتویات پوشه ی مذکور را چک کنید.یرای بعضی کارهای ساده ای که اتفاق می افتد می تونید جواب بگیرید.