PDA

View Full Version : سوال: مخفی کردن برنامه از تب اپلیکیشن برنامه تسک منیجر در ویندوز7



Mask
جمعه 30 اردیبهشت 1390, 20:27 عصر
با سلام و خسته نباشید خدمت دوستان.
با کد زیر

ShowWindow(Application.Handle, SW_HIDE);
در ویندوز xp به راحتی برنامه ار این تب مخفی میشه. اما در ویندوز سون عمل نمیکنه.
دوستان چه راهی رو برای انجام این کار در ویندوز7 سراغ دارند.
با تشکر.

یوسف زالی
جمعه 30 اردیبهشت 1390, 22:10 عصر
دوست عزیز حتی اگر بتونی اونجا رو مخفی کنی در لیست پروسه هاش میاد.
تازه با برنامه های task manager های دیگه اوضاع بدتر میشه.
فکر کنم بهتر باشه دو تا پروسه بدون فرم داشته باشید که همدیگه رو فراخوانی می کنند.
بدون فرم بودن باعث میشه تو تب Application از taskman دیده نشه.
حالا حتی اگر از لیست پروسه ها یکیش رو ببندید اون یکی مطلع شه و دوباره اجراش کنه.(از طریق PID)
(درسته؛ این روش رو هم میشه دور زد اما نسبتا خوب کار می کنه)
این برنامه ها میشن سرویس شما که فرم اصلی رو صدا می کنن.
حتی اگر فرم بسته شد دوباره میشه بازش کرد.
تو XP اگه اسم پروسه رو میگذاشتی SMSS.exe یا LSASS.exe دیگه نمی شد بستش(اگه بدون فرم بود) اما سون رو هنوز تست نکردم.

Mask
جمعه 30 اردیبهشت 1390, 23:48 عصر
ممنون دوست عزیز از راهنمایی هاتون.
من با سر برگ پراسس مشکل ندارم.
در ضمن برنامم هم فرم داره. فقط نمیخام کاربر برنامم رو در تب اپلیکیشن ببینه و از اونجا endtask کنه. در مورد پروسه مشکلی ندارم.

Mask
شنبه 31 اردیبهشت 1390, 11:58 صبح
با سلام
با کد زیر این کار رو انجام میدم

var
Form1: TForm1;
var
m_hWnd : HWND;
hMain : HWND;

implementation



{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin

ShowWindow(Application.Handle,SW_HIDE);
end;


procedure TForm1.Button2Click(Sender: TObject);
begin
ShowWindow(Application.Handle,SW_SHOW);
end;

procedure TForm1.FormHide(Sender: TObject);
begin
ShowWindow(hMain,SW_HIDE);
end;

procedure TForm1.FormShow(Sender: TObject);
begin
ShowWindow(hMain,SW_SHOW);
end;

end.

اما مشکل اینجاست که حتما باید BorderStyle فرم رو روی bsToolWindow قرار بدیم؟

AliReza Vafakhah
شنبه 31 اردیبهشت 1390, 20:36 عصر
با دو تا تاپیکی که شما اخیرا زدید مشخصه که می خواهید تو برنامه تون مانع از بسته شدن توسط Process Explorer ها بشید.

من یک Dll دارم که با Inject شدن بهش می تونید مانع بسته شدن Process بشد اما مشکل بزرگی که داره چندتا Antivirus ها بهش گیر میدن و سریع به عنوان یک برنامه مخرب پاک میکنند.

باز اگر می خواهید Dll و سورس رو براتون Up کنم

Mask
شنبه 31 اردیبهشت 1390, 21:21 عصر
ممنون از محبتتون.
من خودم با همین dll injection مانع بسته شدن پروسه برنامم میشم.
اما این dll مانع بسته شدن پروسه برناممون میشه.در صورتی که به راحتی با EndTask سر برگ اپلیکیشن برنامه تسک منیجر ،برنامه بسته میشود.
من کلیه مسیجهای دریافتی اعم از close و quit رو هم فالس کردم. اما بازم تسکمنیجر میبندتش.