نمایش نتایج 1 تا 37 از 37

نام تاپیک: جلوگيري از بسته شدن برنامه حتي با TaskManager

  1. #1
    کاربر تازه وارد آواتار eiman_ghasemy
    تاریخ عضویت
    بهمن 1386
    محل زندگی
    اصفهان
    پست
    64

    Question جلوگيري از بسته شدن برنامه حتي با TaskManager

    سلام
    مي خواستم ببينم چطوري مي تونم از بسته شدن برنامم جلوگيري كنم. يعني اين كه برنامه ي من به پايان نرسه تا وقتي كه خودم بخوام حتي به وسيله ي End Task تو Task Manager هم بسته نشه. مثل بعضي از آنتي ويروس ها كه هسته ي آنتي ويروس هميشه اجراست و End Task هم نميشه يا بعضي از پروسه هاي خود وينوز كه هرچي End Task مي كني بسته نمي شه و هنوز اجراست

    ممنون

  2. #2

    نقل قول: جلوگيري از بسته شدن برنامه حتي با TaskManager

    بهتره يك سرويس بنويسيد وگرنه ديدن برنامه اي كه بسته نميشود براي كاربر خوشايند نيست
    ...مرا به خانه ام ببر، اگرچه خانه؛ خانه نیست

  3. #3

    نقل قول: جلوگيري از بسته شدن برنامه حتي با TaskManager

    با تشکر از ایمان جان به خاطر طرح سوالی که من هم خودم خیلی دنبالش بودم و سینا جان به خاطر جوابشون.

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

    با تشکر

  4. #4

    نقل قول: جلوگيري از بسته شدن برنامه حتي با TaskManager

    سلام دوست عزیز،
    بهتره يك سرويس بنويسيد وگرنه ديدن برنامه اي كه بسته نميشود براي كاربر خوشايند نيست

    CsharpCorner - Creating a Windows Service in C#‎
    I've just started tweeting!
    @Alireza_Maddah

  5. #5
    کاربر تازه وارد آواتار eiman_ghasemy
    تاریخ عضویت
    بهمن 1386
    محل زندگی
    اصفهان
    پست
    64

    نقل قول: جلوگيري از بسته شدن برنامه حتي با TaskManager

    سلام
    خيلي ممنون از مطالب مفيدتون
    ميشه يكم بيشتر در مورد سرويس ها توضيح بدين.(به چه دردي مي خورند كجا و چه موقع استفاده مي شوندو...)

    اگه ممكنه مي خواستم جواب اون سوال اول را هم بدين كه چه جوري از بسته شدن يه برنامه جلوگيري كنيم.

    ممنون

  6. #6

    نقل قول: جلوگيري از بسته شدن برنامه حتي با TaskManager

    ميشه يكم بيشتر در مورد سرويس ها توضيح بدين.(به چه دردي مي خورند كجا و چه موقع استفاده مي شوندو...)
    سرويس ها، برنامه هايي هستند بدون UI كه ميتوانند در مدت حيات سيستم عامل (از بوت تا shutdown) و بدون هيچ مشكلي در پشت زمينه كار كنند.
    براي مثال همان آنتي ويروسهايي كه مثال زديد، اكثرا بصورت سرويس هاي ويندوز پياده سازي ميشوند.
    مزيت استفاده از سرويس ها اين است كه برخي محدوديت هاي winapp را پوشش ميدهند. براي مثال : سرويس شما قبل از لاگين به ويندوز نيز ميتواند شروع بكار كند.

    جهت اطلاع بيشتر :
    http://en.wikipedia.org/wiki/Windows_service
    آخرین ویرایش به وسیله sinpin : چهارشنبه 27 شهریور 1387 در 09:08 صبح دلیل: افزودن لينك ويكي
    ...مرا به خانه ام ببر، اگرچه خانه؛ خانه نیست

  7. #7
    کاربر تازه وارد آواتار eiman_ghasemy
    تاریخ عضویت
    بهمن 1386
    محل زندگی
    اصفهان
    پست
    64

    نقل قول: جلوگيري از بسته شدن برنامه حتي با TaskManager

    سلام
    خيلي ممنون از توضيحات همگي.
    اين سرويس رو كه گفتين يكم با هاش كار كردم ولي باز هم به وسيله Task Manager مي تونيم سرويسي كه نوشتيم را End كنيم.
    من ميخوام برنامه اي بنويسم كه نشه با Task Manager يا برنامهاي مشابه با اون ، برنامم رو بست. مي خوام فقط وقتي كه خودم خواستم برنامم بسته شه و به پايان برسه. نمي خوام برنامه من با Task Manager بسته شه و به پايان برسه.(وقتي پروسه مربوط به برنامم را End Task كردم بسته نشه مثل winlogon.exe يا برخي از آنتي ويروسها كه هر چي end ميكنيم باز هم در حال اجرا هستندو اصلا بسته نميشن)

    لطفا راهنمايي كنيد
    خيلي ممنون

  8. #8

    نقل قول: جلوگيري از بسته شدن برنامه حتي با TaskManager

    برای این کار باید تابع TerminateProcess را Hook کنید


    وَ سَيَعْلَمُ الَّذِينَ ظَلَمُوا [آل محمد حقهم] أَيَّ مُنْقَلَبٍ يَنْقَلِبُونَ - الشعراء (227)
    و ظالمین [حق آل محمد (ص) ] به زودی خواهند دانست که به کدام بازگشتگاه بازخواهند گشت.

  9. #9
    کاربر تازه وارد آواتار eiman_ghasemy
    تاریخ عضویت
    بهمن 1386
    محل زندگی
    اصفهان
    پست
    64

    نقل قول: جلوگيري از بسته شدن برنامه حتي با TaskManager

    ميشه بيشتر توضيح بدين
    يا يه مثال بزنيد
    ممنون

  10. #10

    نقل قول: جلوگيري از بسته شدن برنامه حتي با TaskManager

    ميشه بيشتر توضيح بدين
    يا يه مثال بزنيد
    متاسفانه من تجربه خاصی در #C ندارم، ولی مطمئنا دوستانی که در کار با این زبان و سکوی دات نت تبحر دارند، می تونند برای شما مثالی از هوک کردن یک تابع API بزنند.


    وَ سَيَعْلَمُ الَّذِينَ ظَلَمُوا [آل محمد حقهم] أَيَّ مُنْقَلَبٍ يَنْقَلِبُونَ - الشعراء (227)
    و ظالمین [حق آل محمد (ص) ] به زودی خواهند دانست که به کدام بازگشتگاه بازخواهند گشت.

  11. #11
    کاربر تازه وارد آواتار eiman_ghasemy
    تاریخ عضویت
    بهمن 1386
    محل زندگی
    اصفهان
    پست
    64

    نقل قول: جلوگيري از بسته شدن برنامه حتي با TaskManager

    سلام
    از همگي دوستان متشكرم به خاطر راهنمايي هاشون.

    اگه كسي هست كه در اين مورد مطلبي و منبع مفيدي داره لطفا بهم معرفي كنه.منابع و مراج به زبان انگليسي هم باشه مهم نيست.

    خيلي ممنون

  12. #12
    کاربر دائمی آواتار SMRAH1
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    مشهد
    پست
    884

    نقل قول: جلوگيري از بسته شدن برنامه حتي با TaskManager

    سلام

    یک راه دیگر ایجاد دو سرویس است که همدیگر روچک کنند.اگر یکی از اونها بسته شد،بلافاصلهٍ سرویس دیگر اون رو راه اندازی کنه.

    البته این نظر خیلی خامه و باید کمی بیشتر فکر بشه

  13. #13
    کاربر دائمی آواتار linux
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    تهران
    پست
    2,313

    نقل قول: جلوگيري از بسته شدن برنامه حتي با TaskManager

    نقل قول نوشته شده توسط eiman_ghasemy مشاهده تاپیک
    سلام
    از همگي دوستان متشكرم به خاطر راهنمايي هاشون.

    اگه كسي هست كه در اين مورد مطلبي و منبع مفيدي داره لطفا بهم معرفي كنه.منابع و مراج به زبان انگليسي هم باشه مهم نيست.

    خيلي ممنون
    اگر دنبال این هستید که دستگاهی ساختید که فقط برنامه شما بر روی آن اجرا گردد از ویندز امبدد استفاده کنید

  14. #14
    VIP آواتار Amir Oveisi
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    هر جا که حال کنم - فعلا یزد
    پست
    2,604

    نقل قول: جلوگيري از بسته شدن برنامه حتي با TaskManager

    دوست عزیز اگر از Hooking‌ استفاده نکنید به هر حال کاربر خواهد توانست برنامه شما را close‌ کند. حالا n تا هم سرویس برای چک کردن داشته باشید هیچ فرقی نخواهد کرد.

    این مثال از Hooking رو ببینید.

    موفق باشید

  15. #15
    کاربر تازه وارد آواتار eiman_ghasemy
    تاریخ عضویت
    بهمن 1386
    محل زندگی
    اصفهان
    پست
    64

    نقل قول: جلوگيري از بسته شدن برنامه حتي با TaskManager

    بازهم سلام و ممنون از همگي دوستان

    خواهش مي كنم يه نفر لطف كنه يه راه مناسب براي اين كار به من معرفي كنه.
    ؟؟

    ممنون

  16. #16

    نقل قول: جلوگيري از بسته شدن برنامه حتي با TaskManager

    به این لینک یه نگاه بنداز فکر می کنم کمکت کنه
    http://www.codeproject.com/KB/system...=2171466&fr=26

  17. #17

    نقل قول: جلوگيري از بسته شدن برنامه حتي با TaskManager

    با سلام مجدد

    ببخشید که یکم دیر دارم جواب میدم.

    من راجع به اون قسمتی که درباره ساخت سرویس بود، سوال داشتم.

    من سرویس رو ساختم ولی نتونستم اینستالش کنم و در نتیجه به سرویس های سیستمم هم اضافه نشد.

    در واقع توی اون مرحله ی سومی که آقای مداح، لینک گذاشته بودن با مشکل برخوردم.

    اگر دوستان کمک کنن، ممنون میشم.

    با تشکر

  18. #18
    کاربر تازه وارد آواتار MFiRE
    تاریخ عضویت
    مهر 1386
    محل زندگی
    كيانپارس
    پست
    98

    نقل قول: جلوگيري از بسته شدن برنامه حتي با TaskManager

    سلام

    یه مقاله !

    می تونه کمک کنه.

    به زبانه Vb هست ! ولی مشکلی نیست ! اصل روش هست!

    لینک :


  19. #19
    کاربر تازه وارد آواتار eiman_ghasemy
    تاریخ عضویت
    بهمن 1386
    محل زندگی
    اصفهان
    پست
    64

    نقل قول: جلوگيري از بسته شدن برنامه حتي با TaskManager

    نقل قول نوشته شده توسط esmartiz_red مشاهده تاپیک
    به این لینک یه نگاه بنداز فکر می کنم کمکت کنه
    http://www.codeproject.com/KB/system...=2171466&fr=26
    اين كه گفتين خوب بود و پروسه را در ليست پروسه هاي Task Manager نشان نمي داد اما زبانش سي شارپ نبود. من نتونستم تو سي شارپ ازش استفاده كنم. اگه كسي همچين نمونه اي تو سي شارپ داره معرفي كنه تا استفاده كنيم.

    خيلي ممنون

  20. #20

    نقل قول: جلوگيري از بسته شدن برنامه حتي با TaskManager

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


  21. #21
    کاربر تازه وارد آواتار eiman_ghasemy
    تاریخ عضویت
    بهمن 1386
    محل زندگی
    اصفهان
    پست
    64

    نقل قول: جلوگيري از بسته شدن برنامه حتي با TaskManager

    نقل قول نوشته شده توسط h.jaza مشاهده تاپیک
    خوب تبدیلش کنین. این چند تا لینک رو آقای مداح در یه بخشی گذاشته بودن که من اینجا وستون میذارم:

    ممنون
    اما اگه دقت كنيد سورسهاش به زبان vb.net يا يكي از زبان هاي .net نيست كه بشه به سي شارپ تبديلش كرد.
    فكر كنم به زبان C++‎ باشه .
    اگه كسي ميتونه تو سي شارپ كاري كنه كه يه پروسه در ليست پروسه هاي Task Manager نشان داده نشه لطفا راهنمايي كنه.

    ممنون

  22. #22
    کاربر دائمی آواتار DAMAVAND
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    همين اطراف
    پست
    373

    نقل قول: جلوگيري از بسته شدن برنامه حتي با TaskManager

    البته يه راه ميانبر هم تو ويندوز Xp هست . براي اين کار ميتونيد اسم برنامتون رو يکي از
    پروسس هاي سيستمي ويندوز مثل Csrss.exe و يا winlogon.exe بزاريد.Task Manager نميتونه اينها رو بنده !

  23. #23
    کاربر تازه وارد آواتار eiman_ghasemy
    تاریخ عضویت
    بهمن 1386
    محل زندگی
    اصفهان
    پست
    64

    نقل قول: جلوگيري از بسته شدن برنامه حتي با TaskManager

    نقل قول نوشته شده توسط DAMAVAND مشاهده تاپیک
    البته يه راه ميانبر هم تو ويندوز Xp هست . براي اين کار ميتونيد اسم برنامتون رو يکي از
    پروسس هاي سيستمي ويندوز مثل Csrss.exe و يا winlogon.exe بزاريد.Task Manager نميتونه اينها رو بنده !
    ممنون اين راه رو دوستان قبلا گفتن.
    به غير از اين دو راه كه در پايين گفتم ، هركس راه ديگه اي بلده لطفا راهنمايي كنه.
    1- ايجاد دوتا پروسه يا سرويس كه هم ديگرو چك كنند.
    2- ايجاد پروسه هايي كه همنام با پروسه هاي و سرويس هاي ويندوز باشند كه Task Manager نتونه اونارو ببنده.

    ممنون

  24. #24
    VIP
    تاریخ عضویت
    اردیبهشت 1403
    محل زندگی
    www
    سن
    40
    پست
    1,247

    نقل قول: جلوگيري از بسته شدن برنامه حتي با TaskManager

    ببخشيد، اگه بگي ميخواي چي كار كني شايد يه راه ديگه اي بتونم بهت پيشنهاد بدم.

  25. #25
    کاربر دائمی آواتار Xcalivorse
    تاریخ عضویت
    اردیبهشت 1386
    محل زندگی
    Kernel32.dll
    پست
    411

    نقل قول: جلوگيري از بسته شدن برنامه حتي با TaskManager

    می تونی کاری کنی که در زمان اجرای برنامه ات TaskManager باز نشه. اگه می خواهی بگو تا روشش رو برات بزارم.

  26. #26
    کاربر دائمی آواتار newgoldenman
    تاریخ عضویت
    آبان 1385
    محل زندگی
    همشهري حضرت معصومه (س)
    پست
    367

    نقل قول: جلوگيري از بسته شدن برنامه حتي با TaskManager

    نقل قول نوشته شده توسط Xcalivorse مشاهده تاپیک
    می تونی کاری کنی که در زمان اجرای برنامه ات TaskManager باز نشه. اگه می خواهی بگو تا روشش رو برات بزارم.
    سلام
    اين بحث بحث خيلي جالبيه تا اينجاشو كه خوندم.

    ميشه خواهش كنم اين روشتونو اعلام كنيد؟ ممنون ميشم

  27. #27
    VIP
    تاریخ عضویت
    اردیبهشت 1403
    محل زندگی
    www
    سن
    40
    پست
    1,247

    نقل قول: جلوگيري از بسته شدن برنامه حتي با TaskManager

    ببين اين لينك زير نحوه ساخت TaskManager هست شايد يه چيزهاي توش باشه كه بدردت بخوره.
    http://http://gstsoftware.blogfa.com/post-34.aspx

  28. #28

    نقل قول: جلوگيري از بسته شدن برنامه حتي با TaskManager

    مجید جان اولا لینکی رو که دادین اصلاح کنین، چون اضافات داره.

    و ثانیا این صرفا آموزش ساخت Task Manager هستش و هیچ ارتباطی به Hide کردن یه پروسه در تسک منجر نداره.

  29. #29
    کاربر دائمی آواتار SMRAH1
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    مشهد
    پست
    884

    نقل قول: جلوگيري از بسته شدن برنامه حتي با TaskManager

    تا اونجایی که اطلاعات من یاری می کنه،taskkill هر proccess ای رو می بنده ،در ضمن به نظر می رسه که این بحث کلا از #C خارج شده و باید در تالار های مربوط به مدیریت ویندوز پیگیر شود(شاید به جایی برسد).در هر حال دوستان اینگونه تالار ها، اطلاعاتشون بیشتر است.

  30. #30
    کاربر تازه وارد آواتار eiman_ghasemy
    تاریخ عضویت
    بهمن 1386
    محل زندگی
    اصفهان
    پست
    64

    نقل قول: جلوگيري از بسته شدن برنامه حتي با TaskManager

    نقل قول نوشته شده توسط majid325 مشاهده تاپیک
    ببخشيد، اگه بگي ميخواي چي كار كني شايد يه راه ديگه اي بتونم بهت پيشنهاد بدم.
    من ميخوام كاري كنم كه برنامه من توسط Task manager يا برنامه هاي شبيه به او بسته نشه .
    دوستان دوتا راه ارائه كردند
    1-ايجاد دوتا پروسه يا سرويس كه همديگرو چك كنند.
    2-ايجاد پروسه اي كه همنام با پروسه هايي باشه كه Task manager نمي تونه او نا رو ببنده.

    اگه كسي راهي به غير از اين ها بلده راهنمايي كنه. (مثلا كاري كنيم كه پروسه ما اصلا تو ليست پروسه هاي Task manager نشون داده نشه) يا روش هاي ديگه.

    ممنون

  31. #31

    نقل قول: جلوگيري از بسته شدن برنامه حتي با TaskManager

    به نظر من هیچ راهی به غیر از راه اولی که خودتون اشاره کردین، بهترین راه نیست.

    چرا که اولا، اگر ما به عنوان مثال تونستیم کاری کنیم که سرویس ما (برنامه) توی مثلا Task Manager و سایر برنامه های مثل اون، نشون داده نشه (به اصطلاح Hide ش کنیم)؛ حالا اگر ما خودمون بیایم و یه تسک منجر بنویسیم که بیاد و کلیه سرویس های در حال اجرا رو توی مثلا یه لیست باکس بهمون نشون بده، اونوقته که دیگه باید بریم جهنم...

    و ثانیا اگر هم، همنام با پروسه های سیستمی باشه، بازهم با همون برنامه ای که خودمون نوشتیم، می تونیم ببندیمش؛ لذا این کار هم بی نتیجه باقی خواهد ماند.

    پس نتیجه می گیریم که راهی (احتمالا البته) غیر از اینکه با دو تا پروسه، کار رو انجام بدیم، نمی مونه.

    دوستان اگر اشتباه می کنم، بگید.

    با تشکر

  32. #32

    نقل قول: جلوگيري از بسته شدن برنامه حتي با TaskManager

    پس نتیجه می گیریم که راهی (احتمالا البته) غیر از اینکه با دو تا پروسه، کار رو انجام بدیم، نمی مونه.

    دوستان اگر اشتباه می کنم، بگید.
    اگر در این مدت وقت خودتان را صرف یادگیری چگونگی Hook کردن یک تابع API ویندوز بوسیله #C کرده بودید، این تاپیک به صفحات سوم و چهارم کشیده نمیشد. البته احتمال داره مجبور بشید برای همچین کاری از PInvoke و حتی کدهای unmanaged استفاده کنید. طبیعی هم هست، چون دارید درباره یک قابلیت خاص در یک پلت فرم خاص صحبت می کنید، پس مستقل از پلت فرم بودن، و کد مدیریت شده خیلی نمیتونه جایگاهی در بحث داشته باشه.


    وَ سَيَعْلَمُ الَّذِينَ ظَلَمُوا [آل محمد حقهم] أَيَّ مُنْقَلَبٍ يَنْقَلِبُونَ - الشعراء (227)
    و ظالمین [حق آل محمد (ص) ] به زودی خواهند دانست که به کدام بازگشتگاه بازخواهند گشت.

  33. #33

    نقل قول: جلوگيري از بسته شدن برنامه حتي با TaskManager

    نقل قول نوشته شده توسط علی کشاورز مشاهده تاپیک
    اگر در این مدت وقت خودتان را صرف یادگیری چگونگی Hook کردن یک تابع API ویندوز بوسیله #C کرده بودید، این تاپیک به صفحات سوم و چهارم کشیده نمیشد.
    کاملا درسته ولی همون طور که خودتون هم میگید:
    البته احتمال داره مجبور بشید برای همچین کاری از PInvoke و حتی کدهای unmanaged استفاده کنید.
    پس نتیجه میگیریم که شاید یکم بهتر باشه بجای همچین کاری که به استفاده از کدهای مدیریت نشده مینجامه، از تفکر دیگه ای استفاده بکنیم. اینطوری نیست؟
    طبیعی هم هست، چون دارید درباره یک قابلیت خاص در یک پلت فرم خاص صحبت می کنید، پس مستقل از پلت فرم بودن، و کد مدیریت شده خیلی نمیتونه جایگاهی در بحث داشته باشه.
    لطفا بیشتر توضیح بدین.

    آیا این قابلیت خاصی هست؟؟؟؟؟؟؟ فکر نمی کنم تا این حد باشه.

    پلت فرم هم متوجه نمی شم. به هر حال شما هر برنامه ای که با ویژوال استودیو می نویسین، قرار نیست که در سیستم عامل های دیگه کار بکنه که حالا این یکی بخواد استثنا باشه. غیر از اینه؟

  34. #34

    نقل قول: جلوگيري از بسته شدن برنامه حتي با TaskManager

    پلت فرم هم متوجه نمی شم. به هر حال شما هر برنامه ای که با ویژوال استودیو می نویسین، قرار نیست که در سیستم عامل های دیگه کار بکنه که حالا این یکی بخواد استثنا باشه. غیر از اینه؟
    یکی از اهداف دات نت این هست که حداقل از نظر تئوریک قابلیت Cross-platform را داشته باشه. الان هم همینطور هست، عملا اگر برای یک پلت فرم خاص CLI کاملا پیاده سازی بشه، باید بتوان کد دات نت نوشته شده به یکی از زبان های دات نتی را روی آن پلت فرم اجرا کرد. بخصوص که استاندارد CLI باز هست و هر کسی میتونه آن را پیاده سازی کنه، البته کار آسانی نخواهد بود. نمونه اش پروژه MONO در لینوکس هست.
    پس نتیجه میگیریم که شاید یکم بهتر باشه بجای همچین کاری که به استفاده از کدهای مدیریت نشده مینجامه، از تفکر دیگه ای استفاده بکنیم. اینطوری نیست؟
    نه، چون در این زمینه خاص که به امنیت مربوط میشه، شما مجبورید فراتر از کد مدیریت شده عملی را انجام بدید. از طرفی، در طراحی دات نت سعی شده که حتی المکان کلاس ها و متدهای آنها وابسته به پلت فرم نباشند، یعنی مثلا بجای فراخوانی یک تابع API، دات به شما یک کلاس با یک متد مشخص میده، این کلاس و متدهاش می تونند در لایه های سطح پایین برنامه نهایتا یکی از توابع API سیستم عامل را اجرا کنند، ولی اون توابع از دید شما مخفی هست و شما مستقیما به آنها دسترسی ندارید، پس اگر روزی لازم شد که این کد به پلت فرم دیگه ایی منتقل بشه، فقط کافی هست که اون لایه سطح پایین تغییر کنه و مثلا بجای توابع API ویندوز، از توابع API لینوکس برای اون کار خاص استفاده بشه، ولی کد شما که روی آن لایه سطح پایین بنا شده، بدون تغییر باقی خواهد ماند.
    وقتی از PInvoke استفاده می کنید، عملا برنامه خود را به پلت فرم مورد نظر گره میزنید، یعنی شما مستقیما از یکی از قابلیت های پلت فرم استفاده کردید که فقط خاص همان پلت فرم هست، یا اگر هم در سایر پلت فرم ها وجود دارد، خیلی متفاوت از پلت فرم فعلی هست. در این صورت، دیگه کد شما قابل انتقال به سایر پلت فرمها نخواهد بود.
    در این مورد خاص هم شما دارید از یک ویژگی خاص در ویندوز استفاده می کنید. این ویژگی به این شکل در لینوکس یا سایر پلت فرم ها وجود نداره. از طرفی Hook کردن یک تابع API یک کار سطح پایین محسوب میشه و چارچوبی مثل دات نت فریم ورک برای همچین کاری ساخته نشده. اینجا هست که شما می تونید خودتون رو قالب اون فریم ورک خارج کنید، و کد مربوطه را مستقیما با اتکا به APIهای ارائه شده توسط سیستم عامل بنویسید.
    کلیه راههایی که مطرح شدند، هر چند در محدوده در چارچوب دات نت بودند، ولی راهکارهای ناقصی محسوب می شوند که یا وابسته به برنامه خاصی (مثل Task Manager ویندوز) هستند، یا کاربر میتونه با کمی خلاقیت آنها را دور بزنه. مطمئن ترین و کاملترین کار Hook کردن تابع API مربوطه هست. چون در سیستم عاملی مثل ویندوز، کاربر هر روشی برای بستن برنامه بکار بگیره، نهایت باید در اون روش به یک یا چند تابع API خاص برسه که عمل بستن برنامه را براش انجام بدند. اگر این توابع Hook بشند، کاربر فقط در صورتی میتونه موفق بشه که یا یک Exploit در ویندوز برای این منظور پیدا کنه، یا از سطحی پایین تر اقدام کنه، مثلا بنوعی کدی بنویسه که Hook شما را از بین ببره، یا با توجه به این که کد شما در لایه User Mode اجرا میشه، کاربر کدی بنویسه که از Kernel Mode اقدام کنه. مسلم هست که هر چی در این ساختار سلسله مراتبی پایین تر بریم (به کرنل نزدیگ تر بشیم) سطح دسترسی های مورد نیاز کاربر، و دانش فنی مورد نیاز افزایش پیدا میکنه، مثلا در Kernel Mode کاربر باید یا خودش یک درایور ویندوز بنویسه، یا از برنامه ایی استفاده کنه که در سطح کرنل اون کار رو براش انجام بده، از طرفی نوع حساب کاربری اش هم باید بگونه ایی باشه که دسترسی کاملی به سیستم داشته باشه.
    با این تفاسیر، پایین تر سطح در سطح User Mode همین توابع API و Hook کردن آنها ست. هر چه پایین تر برید، جامعیت کد شما بیشتر میشه، ولی سختی آن هم به همون نسبت افزایش پیدا میکنه.


    وَ سَيَعْلَمُ الَّذِينَ ظَلَمُوا [آل محمد حقهم] أَيَّ مُنْقَلَبٍ يَنْقَلِبُونَ - الشعراء (227)
    و ظالمین [حق آل محمد (ص) ] به زودی خواهند دانست که به کدام بازگشتگاه بازخواهند گشت.

  35. #35

    نقل قول: جلوگيري از بسته شدن برنامه حتي با TaskManager

    از اینکه جوابها را کامل نخوندم و دارم جواب میدهم باید ببخشید. شاید قبل از من کسی ذکر کرده باشد.

    دوست عزیز به نظر من بهتیرن کار اجرای دو برنامه هست .

    شما هنگامی که فایل اصلی اجرا میشود به واسطه ی آن یک برنامه ی دیگر را نیز اجرا میکنید. هر چند ثانیه یک بار اجرای دیگر برنامه ها چک میشود و در صورت از بین رفتن یک برنامه دوباره آن را اجرا میکنید.

    به این شکل:
    دو بر نامه با نامهای pro1 و pro2 اجرا میکنید.
    اگر pro1 بسته شود مجدد توسط pro2 اجرا میشود. و بلعکس.
    فکر کنم این راه جواب بدهد.

  36. #36

    نقل قول: جلوگيري از بسته شدن برنامه حتي با TaskManager

    دوست عزیز جوابتون قبلا مطرح شده و کلی هم روش بحث شده و به چالش کشیده شده.

    خواهشا از این به بعد قبل از پاسخ گویی یا طرح سوال جدید حتما مطالب از پیش نوشته شده رو مطالعه کنید و سرچ کنید.

    با تشکر

  37. #37

    نقل قول: جلوگيري از بسته شدن برنامه حتي با TaskManager

    من یه بازی انلاین ساختم که تعداد برد و باخت هر بازکن ثبت میشه.
    بعضی از کاربرا وقتی می بینند دارند می بازن وسط بازی برنامه رو end process می کنند.
    روشی که دو برنامه هم دیگه رو اجرا کنند جواب نمیده چون در اینجا هدف اینه که بازی بسته نشه یا اگرم بشته میشه قبلش یه دونه به تعداد باخت های کاربر اضافه کنه.

    پس این روش جواب گو برای بعضی برنامه ها از قبیل برنامه ی من نیست.

    دوستان اگر راهی پیدا کردند که برنامه قبل از بسته شدن بتونه یکی دو دستور رو اجرا کنه خیلی عالی میشه.

    باتشکر از همه ی دوستان

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •