PDA

View Full Version : حرفه ای: نوشتن Deep Freeze با VB6



Cancer
دوشنبه 23 شهریور 1388, 09:22 صبح
سلام خدمت دوستان
نرم افزار Deep Freeze که می دوننین چه کاری انجام می ده؟ :متفکر:
من می خوام با VB یه همچین چیزی بنویسم. :لبخند:
ولی نمی دونم این نرم افزار چه طوری کار می کنه؟ (الگوریتم)
اگه میشه منو راهنمایی کنید.
با تشکر

r0ot$harp
سه شنبه 24 شهریور 1388, 03:36 صبح
ببین دوست عزیز تمام کار ها در ویندوز از طریق پیام هایی انجام می شه که این پیام ها یا از طریق Handel انجام می گیرن یا از طریق Proccess ID . شما باید بیاین و اصولا این پیام ها رو Sniff کنید . مثلا وقتی پیامی برای کپی فایل ارسال شد شما اون رو یا رد می کنید یا تغییر می دین . کلا شما باید کل Event ها رو در جایی ذخیره و نسبت به اون ها پردازش های مورد نیاز رو انجام دهین . بهتره Start پروژه رو بزنین بعد از دوستان کمک بگیرین .


باتشکر احسان

REZADG
سه شنبه 24 شهریور 1388, 08:19 صبح
دوست عزیز من چند بار روی همین مسعله با معلممون دعوام شود معلممون هم نظر دوستمون sanaz13x (http://www.barnamenevis.org/forum/member.php?u=33816) رو داشت اما من ثابت کردم که اینجود نیست برنامه ی Deep Freeze یک فایل درایو داره که هنگام بالا اومدن ویندوز اجرا میشه و تمام بیت های تغیر یافته رو به حالت اول برمیگردونه همین
یعنی از اول بگم
برنامه نصب میشه
یک کپی از ادرس بیت های پر میگیره
اون رو یک درایو میکنه
هنگام بالا اومدن ویندوز اونارو برمیگردونه
و دیگه هیچی
و در اخر اگه برنامه نویسیت خوب باشه کاری نداره

AmirAmiri
سه شنبه 24 شهریور 1388, 20:47 عصر
سلام دوستان ببخشید که خودم قاطیه بحث فوق حرفه ای تون میکنم.
ببینید دوستان ، همونطور که میدونید ویندوز یکسری سرویسها داره (با دستور SC Query تو داس میتونید ببینید) که هر کدوم از اونا مسئول انجام کاری هستن. متلا برای پخش صدا یک سرویس داریم و برای کنترل Volume ها و همچنین برای Disk Managment یک سرویس مخصوص داریم در واقع Deepfreez کاری که انجام میده این هست که به یکنحوی این سرویسها رو کنترل میکنه.
اگه توجه کرده باشید، زمانی که یک سیستم را Freez میکنید، به هیچ عنو ان نمیتونید یکی از پارتشن های آن را خذف کنید. این همون کنترل سرویس ها هست که میگم. اگه از تو Manage وارد قسمت Disk Managment بشید و بخواید یکی از درایو ها رو خذف کنید و به جای اون درایو حذف شده دو درایو جدید بسازید، Deep Freez جلوی شما رو میگیره.
هر سرویس در ویندوز یکسری دستورات رو قبول میکنه مثلا برای متوقف کردن یک سرویس میتونید از دستور Stop به اینصورت استفاده کنید
SC Stop SERVICENAME
خود Deep Freez هم یک سرویس میسازه که همیشه موقع بالا اومدن ویندوز همراه با سرویسهای دیگر ویندوز لود میشود. اگه توجه کرده باشید زمانی که با Safe Mode هم بالا میایید . مثلا یک پوشه یا فایل را تعییر میدید این تغییر بعد از ریستارت به جای خودش برمیگرده.
اگه تو Safe Mode از دستور
SC Query Type= Kernel
استفاده کنید میتونید تمام سرویسهای هسته ای رو ببینید که سرویس Deep Freez هم یکی از همون سرویس هاست.
توجه : اکثر سرویسهای Kernel دستور Stop و Pause را قبول نمیکنند و سرویس Deep Freez حتی دستور Delete را هم نمیپذیرد. دستور Delete به سرویس ارسال نمیشه بلکه از طرف ویندوز اجرا میشه یعنی Deep Freez سرویسی که مربوط به کنترل سرویسهاست رو کنترل میکنه.
پس توصیه میکنم که قبل از اینکه بخواید دنبال نوشتن Deep Freez اون هم با VB6 باشید بهتره مفهموم سرویسها و نحوه ی کارشون رو یاد بگیرید و با یک شناخت کامل از سرویس ها به سراغ نوشتن چنین برنامه ای برید.
موفق و پیروز باشید.