PDA

View Full Version : سوال: پروسس ها



rezamansori
دوشنبه 22 شهریور 1389, 13:35 عصر
سلام.
یه سوالی دارم.
من می خوام وقتی کاربر برنامه taskmanager رو باز کنه یا نتونه تو پروسس ها برناممو پیدا کنه یا نشناسه یا حتی اگه بشناسه نتونه ببنده البته بدون پروسه ثانویه.
آیا میشه ردیف User Name پروسس برنامه رو بجای نام کاربر بنویسه System اگه میشه چجوری؟
سعی کردم کلا Taskmanager رو ببندم اما دیدم برنامه TaskKill هم میتونه این کار رو بکنه.

محسن شامحمدی
دوشنبه 22 شهریور 1389, 14:35 عصر
من اونقدر تخصصی که نمی دونم ولی درهمین حد می دونم که اگر اسم فایلتون رو بذارید services.exe
برنامه task manager نمی بندش. نه اینکه نتونه بلکه مایکروسافت براش این استثنا رو گذاشته.
یعنی اگر با یک تسک منیجر دیگه امتحان کنی بسته می شه.

fjm11100
دوشنبه 22 شهریور 1389, 15:07 عصر
میتونی توی رویدادهای Exit کدی بنویسی که دوباره application را استارت کنه

Saman_12
دوشنبه 22 شهریور 1389, 15:39 عصر
میتونی توی رویدادهای Exit کدی بنویسی که دوباره application را استارت کنه

این رویداد Exit اسم خود رویداد یا شما اینجوری می نامیش؟


من اونقدر تخصصی که نمی دونم ولی درهمین حد می دونم که اگر اسم فایلتون رو بذارید services.exe
برنامه task manager نمی بندش. نه اینکه نتونه بلکه مایکروسافت براش این استثنا رو گذاشته.
یعنی اگر با یک تسک منیجر دیگه امتحان کنی بسته می شه.
این کار توی XP جواب میده اما توی 7 جواب نمیده حتما باید برنامه شما توسط سیستم ران شده باشه (سرویس های ویندوز.)

fjm11100
دوشنبه 22 شهریور 1389, 16:14 عصر
ببخشید من سوال شما را با عجله خوندم جواب دادم شرمنده. اونی که گفتم رویداد ApplicationExit از Application بود. اینی که شما میخواهید به این راحتی نیست یک راهش اینه برنامه شما مدام پروسس های جاری را چک کند تا اگر taskmgr را اجرا کردین (همون task manager) یا بلافاصله آنرا kill کند اینو با کمک System.Diagnostics.Process میتونی بنویسی. راه دیگه هوک کردن taskmgr است.

Saman_12
دوشنبه 22 شهریور 1389, 16:20 عصر
ببخشید من سوال شما را با عجله خوندم جواب دادم شرمنده. اونی که گفتم رویداد ApplicationExit از Application بود. اینی که شما میخواهید به این راحتی نیست یک راهش اینه برنامه شما مدام پروسس های جاری را چک کند تا اگر taskmgr را اجرا کردین (همون task manager) یا بلافاصله آنرا kill کند اینو با کمک System.Diagnostics.Process میتونی بنویسی. راه دیگه هوک کردن taskmgr است.

من از هوک چیز زیادی نمی دونم اما چرا تکس منیجر میشه پیغام بستن برنامه رو هوک کرد.(من فقط در حد دو سه تا مطلب بیشتر نخوندم اما میدونم پیغام های ویندوز رو میشه هوک کرد.)این جوری هیچ برنامه ای نمیتونه اونو ببنده.
حالا کسی در مورد هوک کردن پیغام های ویندوز چیزی میدونه؟

fjm11100
دوشنبه 22 شهریور 1389, 16:41 عصر
اگر نمیخوای برنامه ثالثی داشته باشی باید پیام Click دکمه End Task را هوک کنی. الان نمیدونم چطوری اما میدونم میشه فهمیشد الان توی لیست task manager این برنامه توست که انتخاب شده یا نه. خلاصه قبل از اینکه پیام mouse up به دکمه برسه باید دوباره برنامه را اجرا کنی (خیلی روش جالبی نیس) چون end task هیچ رویدادی از برنامه ات را فعال نمیکنه و برنامه بی خبر از همه جا زیرابش زده میشه!!!:قهقهه:
یک راه کلک رشتی هم هست. برنامه تو توسط یک برنامه راه انداز اجرا شه بعد دوتا برنامه هوای هم را داشته باشن تا بلافاصله با بسته شدن یکی اون یکی را run کنند!!!:شیطان: