PDA

View Full Version : آموزش: غیر فعال کردن taskmaneger



ebrahim.rayatparvar
سه شنبه 17 تیر 1393, 09:43 صبح
سلام....
من میخواستم taskmaneger خودمو هنگام اجرا برنامه غیر فعال کنم برای همین رفتم تو رجیستری این کد رو زدم:

RegistryKey objRegistryKey = Registry.CurrentUser.CreateSubKey(@"Software\Microsoft\Windows\CurrentVersion\Policies \System");
objRegistryKey.SetValue("DisableTaskMgr", keyValue);
objRegistryKey.Close();

تو این کد ما باید اول به user خودمون سطح دسترسی admin بدهیم تا به درستی کار کنه ولی در ویندوز XP نیاز به اون سطح دسترسی نیز نداریم....

حال یه راه حل دیگه برای دور زدن این کار هست که کد بالا در رجیستری این عمل را انجام میده ولی میخوام یه راه حل دیگه هم هست که یک تایمر در Form خودمون میزاریم....
interval = 1
Enabled = true
حال کد زیر را در تایمر بگذارید :

private void timer1_Tick(object sender, EventArgs e)
{
Process[] ps = Process.GetProcesses();
foreach (Process p in ps)
{
if (p.ProcessName.ToLower() == "taskmgr")
{
p.Kill();
}
}
}

با این کار زمانی که taskmaneger زمانی که اجرا میشود ما با دستور kill این Process را میبندیم یا همان میکشیم :لبخند:

امیدوارم که این کد مورد قبول شما و در برنامه ها بکار شما بییاید.. :قلب::بوس::لبخند::چشمک:

elec60
سه شنبه 17 تیر 1393, 11:10 صبح
يه تايمر با اينتروال 1 ميلي ثانيه ريسورس زيادي مصرف نميكنه؟!

Pedram_Parsian
سه شنبه 17 تیر 1393, 13:30 عصر
سلام....
من میخواستم taskmaneger خودمو هنگام اجرا برنامه غیر فعال کنم برای همین رفتم تو رجیستری این کد رو زدم:

RegistryKey objRegistryKey = Registry.CurrentUser.CreateSubKey(@"Software\Microsoft\Windows\CurrentVersion\Policies \System");
objRegistryKey.SetValue("DisableTaskMgr", keyValue);
objRegistryKey.Close();

تو این کد ما باید اول به user خودمون سطح دسترسی admin بدهیم تا به درستی کار کنه ولی در ویندوز XP نیاز به اون سطح دسترسی نیز نداریم....

حال یه راه حل دیگه برای دور زدن این کار هست که کد بالا در رجیستری این عمل را انجام میده ولی میخوام یه راه حل دیگه هم هست که یک تایمر در Form خودمون میزاریم....
interval = 1
Enabled = true
حال کد زیر را در تایمر بگذارید :

private void timer1_Tick(object sender, EventArgs e)
{
Process[] ps = Process.GetProcesses();
foreach (Process p in ps)
{
if (p.ProcessName.ToLower() == "taskmgr")
{
p.Kill();
}
}
}

با این کار زمانی که taskmaneger زمانی که اجرا میشود ما با دستور kill این Process را میبندیم یا همان میکشیم :لبخند:

امیدوارم که این کد مورد قبول شما و در برنامه ها بکار شما بییاید.. :قلب::بوس::لبخند::چشمک:

خوب دوست عزیز
چه کاریه آخه ؟
کامل از طریق ریجستری اون رو غیر فعال کنید ! :چشمک: