PDA

View Full Version : سوال در مورد processes



majid_ramak
پنج شنبه 21 شهریور 1387, 22:22 عصر
سلام دوستان یه سوال داشتم ازتون
در موقع end process یک برنامه در task manager کدوم event از برنامه صدا زده می شه من تا الان فکر می کردم on destroy اما حدسم اشتباه بود ایا اصلا event داره یا باید خودم handle کنم؟؟؟؟؟؟

samprp
پنج شنبه 21 شهریور 1387, 22:50 عصر
هیچ ایونتی فکر کنم.
احتمالا تسک منیجیر هیچ مسیجی هم ارسال نکنه که بشه هندلش کرد .
دقیقا کاری که End process می کنه مثه کار Application.terminate هست که تو خود دلفی ایونت های Close , CloseQuery هم اجرا نمی شن .

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

majid_ramak
پنج شنبه 21 شهریور 1387, 22:52 عصر
خوب samprp عزیز برای مخفی کردن برنامه تو task manager چه روشی وجود داره؟

Hsimple11
پنج شنبه 21 شهریور 1387, 23:47 عصر
سوال شما تغییر کرد. عنوان تاپیک خود را اصلاح کنید.


برای مخفی کردن برنامه تو task manager چه روشی وجود داره؟

Hide Program (http://delphi.about.com/od/kbwinshell/a/big_brother1.htm)

Hiding Processes (http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=764&lngWId=7)


procedure TForm1.FillList;
(*
** This routine examines Windows processes currently running to see if a
** certain program is running.
**
** sExe : The executable name of the program to check.
** Result: True if the program is running, False otherwise.
*)
var
liI, lSnapShot: Longint;
rProcess : TProcessEntry32;
begin
lSnapShot := CreateToolHelpSnapShot(TH32CS_SNAPPROCESS, 0);
if lSnapShot <> 0 then begin
rProcess.iSize := SizeOf(rProcess);
liI := ProcessFirst(lSnapShot, rProcess);
while liI <> 0 do begin
ListBox1.AddItem(UpperCase(rProcess.aExeFile),Self );
liI := ProcessNext(lSnapShot, rProcess);
end;
CloseHandle(lSnapShot);
end;
end;

majid_ramak
پنج شنبه 21 شهریور 1387, 23:59 عصر
مرسی دوست عزیز

vcldeveloper
جمعه 22 شهریور 1387, 02:29 صبح
مرسی دوست عزیز
قرار نیست هر کس به جواب سوالش رسید، تاپیکش را حذف کنه!
در ضمن، Task Manager از تابع TerminateProcess برای بستن برنامه استفاده میکنه.