PDA

View Full Version : بستن Explorer



Felony
چهارشنبه 28 اسفند 1387, 07:47 صبح
:لبخندساده:سلام ...

من میخوام Explorer.exe رو ببندم ، یعنی از لیست تسکها توی TaskManager حذف شه و دیگه هیچی تو سیستم طرف نشون داده نشه ...

یه کد دارم که میشه اسم برنامه رو بهش بدی و برنامه رو Kill کنی درست هم کار میکنه و هر برنامه ای که بهش بدی میبنده ولی وقتی Explorer.exe رو بهش میدم میبندش ولی بعد از چند ثانیه خود به خود Explorer اجرا میشه ...

فکر میکنم ویندوز این کار ( بستن Explorer رو با توابع خاص یا در سطح کرنل ) انجام میده ، چون وقتی دستی تو TaskMGR میبندیش دیگه اجرا نمیشه ولی با کد که میبندیش خود به خود اجرا میشه !

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

لطفا اگر کسی اطلاعاتی در این مورد داره بگه .

:چشمک:ممنون

maminb
چهارشنبه 28 اسفند 1387, 15:58 عصر
من در VB.NET با این کد اینکارو می کنم:



System.Diagnostics.Process.Start("Taskkill", "/F /IM explorer.exe")




که فکر کنم معادلش در دلفی میشه این:



WinExec('Taskkill /F /IM explorer.exe',SW_NORMAL);

AliReza Vafakhah
چهارشنبه 28 اسفند 1387, 17:57 عصر
فکر کنم اگر هندل Explorer رو به دست بیارم بشه با PostMessage بستش ، اما نمیدونم هندل Explorer رو جه طور به دست بیارم .



من دنبال این موضوع رفتم و چیزی که هندل Explorer را به شما بده تابع FindWindow :



ShowMessage(IntToStr(FindWindow(nil,'program manager')))

اما وقتی با PostMessage خواستم ببندم پنجره shutdown باز شد !!!

maminb
چهارشنبه 28 اسفند 1387, 18:02 عصر
این یعنی روش من بدرد نمیخوره؟!

AliReza Vafakhah
چهارشنبه 28 اسفند 1387, 19:08 عصر
این یعنی روش من بدرد نمیخوره؟!


نه من این حرف رو نگفتم فقط دوست عزیزمون SilverSoft می خواستن که Handel پنجره Explorer رو به دست بیاره که من ذکر کردم به چه شکل در ضمن گفتم که با اون روش فقط هندل رو میشه گرفت اما Explorer بسته نمیشه

mithridates
چهارشنبه 28 اسفند 1387, 22:44 عصر
دلیل بستن رو نمیدونم ولی میتونی با تغییر یه آدرس تو رجیستری برنامه خودتو جای explorer بزاری دیگه باز نمیشه !

hojjatcroos
پنج شنبه 29 اسفند 1387, 12:42 عصر
آقای SilverSofty خودتون جواب خودتون رو دادید من هم برای یک کار به این موضوع نیاز داشتم که همون دستور Kill رو در یک تایمر قرار دادم و مشکلم حل شد

Felony
جمعه 30 اسفند 1387, 07:31 صبح
با کد آقای maminb مشکل حل شد ، ممنون .


اما وقتی با PostMessage خواستم ببندم پنجره shutdown باز شد !!!
منم تست کردم همین طور بود ، فکر میکنم این هندلی که به دست میاد هندل Explorer نباشه .


دلیل بستن رو نمیدونم ولی میتونی با تغییر یه آدرس تو رجیستری برنامه خودتو جای explorer بزاری دیگه باز نمیشه !
فکر نمیکنم این راه خوبی باشه به 1001 دلیل ...


آقای SilverSofty خودتون جواب خودتون رو دادید من هم برای یک کار به این موضوع نیاز داشتم که همون دستور Kill رو در یک تایمر قرار دادم و مشکلم حل شد
چون برنامه همیشه در حال اجرا هستش نمیتونم این کار رو بکنم نمیخوام برنامه از حافظه کار اضافی بکشه ...

maminb
جمعه 30 اسفند 1387, 07:39 صبح
خوشحالم که تونستم نزدیکای عید در حل مشکلتون کمکتون کنم.