c#中禁用windows的義務治理器的辦法。本站提示廣大學習愛好者:(c#中禁用windows的義務治理器的辦法)文章只能為提供參考,不一定能成為您想要的結果。以下是c#中禁用windows的義務治理器的辦法正文
之前制造的桌面鎖屏軟件固然也禁用過義務治理器,然則采用的是比擬笨的辦法,並且對操作體系還有必定的傷害。由於義務治理也是一個窗體也就是說它中也是一個自力過程,所以只須要強迫性封閉這個過程便可以封閉義務治理器了,義務治理的過程稱號為“taskmgr”,在法式用一個零丁的計時器,每100毫秒遍歷一次體系開啟的一切的過程,凡是湧現過程的稱號與義務治理器稱號雷同直接封閉。如許便可以直接的到達禁用義務治理的感化,但是這類辦法不克不及夠經常使用,假如常常強迫性的封閉義務治理的過程會紊亂操作體系的新聞處置。所以其時寫的桌面治理軟件就沒有真實的被適用起來。
本次完成禁用義務治理的道理是直接修正體系的注冊表,以到達讓義務治理器禁用的目標,修正義務治理器的注冊表項為:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System
在這個項中添加一個鍵:DisableTaskmgr ,當值為1的則是禁用義務治理器,當值為0的時刻則是啟用義務治理器,我的電腦默許是沒有system這個項的。
下面將道理曾經引見了,上面將列出若何用c#完成這一功效的代碼。
/// <summary>
/// 治理義務治理器的辦法
/// </summary>
/// <param name="arg">0:啟用義務治理器 1:禁用義務治理器</param>
private void ManageTaskManager(int arg)
{
RegistryKey currentUser = Registry.CurrentUser;
RegistryKey system = currentUser.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Policies\System",true );
//假如system項不存在就創立這個項
if (system == null)
{
system = currentUser.CreateSubKey(@"Software\Microsoft\Windows\CurrentVersion\Policies\System");
}
system.SetValue("DisableTaskmgr", arg, RegistryValueKind.DWord);
currentUser.Close();
}
經由過程應用這個辦法便可以在法式中禁用義務治理器。
還的記住要加上以下的援用才行:
Microsoft.Win32;