PDA

View Full Version : آموزش: محدود كردن copy در محيط ويندوز



morteza_carefree
پنج شنبه 07 بهمن 1389, 15:26 عصر
سلام من ميخوام يه برنامه بنويسم كه موقعي كه كاربر تو محيط ويند.ز چيزي رو بخواد كپي كنه ازش پسورد بخواد اگه پسورد درست بود كپي بشه وگرنه كپي لغو بشه
ميشه كمكم كنيد

محسن واژدی
پنج شنبه 07 بهمن 1389, 17:22 عصر
سلام
میشه واسه این کار با استفاده از API های ویندوز یا حتی دستور معمولی وی بی یعنی Clipboard هم اینکار رو انجام داد اما میدونین که به روش های مختلفی میشه یک فایل رو کپی کرد بدون اینکه نیاز به استفاده از کپی معمولی ویندوز باشه، راه هایی نظیر:

- کشیدن و رها کردن فایل در مسیر مقصد (Drag and Drop) (که در این حال از کلیپ برد ویندوز برای عملیات کپی استفاده نمیشود)
- استفاده از یک دستور ساده کپی حالا چه با یک برنامه نویسی مختصر و چه با CMD معمولی ویندوز
- اگه هم طرف آدم سمجی باشه میتونه فایل مورد نظرشو با یک فشرده ساز، فشرده و مکان فایل فشرده شده را جایی که میخواد فایل رو کپی کنه انتخاب، سپس به اونجا رفته و مجددا فایله رو unpack کنه
-و یک دوتا راه دیگه

البته کمی درباره ویژگی برنامه تون بیشتر توضیح بدین مثلا آیا میخواین فقط واسه کپی کردن متن از کاربر درخواست رمز کنه و یا واسه کپی فایل، اگه واسه کپی متن باشه میشه یکاریش کرد اما واسه کپی فایل و امثال اینها راهی نیست یا لااقل بنده در نظر ندارم

یاعلی

morteza_carefree
شنبه 09 بهمن 1389, 08:36 صبح
ممنون از راهنماییتون اما مگه همه اینارم نمیشه محدود کرد من میخوام واسه فایل کلا محدود کنم
میشه راهنماییمکنید من راجب API هم چیزی نمیدونم میشه یه منبع واسه یادگیریش معرفی کنید

quiet_programmer
شنبه 09 بهمن 1389, 12:33 عصر
با سلام.
من قبلا اینکه کاربر نتونه عمل کپی رو انجام بده رو کد کردم.
ولی به شرط زیر عمل میکنه.
1. حتما برای کپی کردن، پنجره ی عمل کپی باز بشه.
2.سایز فایلی که میخواد کپی بشه زیاد باشه.

این شکلی عمل میکنه که برنامه تو حالت انتظار میمونه تا پنجره کپی باز بشه و به محض اینکه پنجره باز شد explorer.exe رو Terminate کنه و بعد دوباره RUN کنه. به این طریق عمل کپی ناتموم میمونه

محسن واژدی
شنبه 09 بهمن 1389, 15:00 عصر
ممنون از راهنماییتون اما مگه همه اینارم نمیشه محدود کرد من میخوام واسه فایل کلا محدود کنم
میشه راهنماییمکنید من راجب API هم چیزی نمیدونم میشه یه منبع واسه یادگیریش معرفی کنید

چندتا فایل زیر میتونهواستون مفید باشه:
- برنامه ای هست بنام "API Text Viewer" که همراه با وی بی نصب میشه تمام apiهای کاربردی رو لیست کرده

- برنامه زیر تقریبا 90% apiها رو معرفی کرده بهمراه مثال کامل، واسه دانلودش به سایت زیر مراجعه کنین:
http://www.allapi.net (http://www.allapi.net/)

- این هم تعدادی از apiها روی به زبان فارسی معرفی کرده:
http://princeworld.persiangig.com/document/Persian%20API.rar

این چندتا ضمیمه رو هم ببینین

ali.rezaei7
شنبه 09 بهمن 1389, 15:20 عصر
استفاده از !HOOK تنها راهشه.

morteza_carefree
یک شنبه 10 بهمن 1389, 16:39 عصر
میشه HOOK رو توضیح بدید

ali.rezaei7
یک شنبه 10 بهمن 1389, 20:33 عصر
درود. Hook به معني شنود پيغام هاي ارسال شده، توسط سيستم عامل است. به عنوان مثال زماني كه دستگاه جديد به سيستم متصل مي شه پيغامي مبني بر اتصال دستگاه جديد(WM_DEVICECHANGE) و يا پيغامي در زمان خاموش شدن سيستم،... از طرف سيستم عامل منتشر مي شه. حالا ما مي تونيم با هوك كردن از اين رخدادها باخبر بشيم. من معتقدم كه در زمان كپي شده فايل ها/پوشه ها هم پيغامي ارسال مي شه. و با هوك كردن مي تونيم به اين فايل ها دسترسي داشته باشيم.
در زير يه مقاله در مورد هوك قرار دادم. مقاله جالبيه.
دانلود مقاله هوك (http://up.iranblog.com/images/frxae01ljynp3mn832r.pdf)