c#中禁用windows的任務(wù)管理器的方法
以前制作的桌面鎖屏軟件雖然也禁用過任務(wù)管理器,但是采取的是比較笨的方法,而且對(duì)操作系統(tǒng)還有一定的危害。因?yàn)槿蝿?wù)管理也是一個(gè)窗體也就是說它中也是一個(gè)獨(dú)立進(jìn)程,所以只需要強(qiáng)制性關(guān)閉這個(gè)進(jìn)程即可以關(guān)閉任務(wù)管理器了,任務(wù)管理的進(jìn)程名稱為“taskmgr”,在程序用一個(gè)單獨(dú)的計(jì)時(shí)器,每100毫秒遍歷一次系統(tǒng)開啟的所有的進(jìn)程,但凡出現(xiàn)進(jìn)程的名稱與任務(wù)管理器名稱相同直接關(guān)閉。這樣就可以間接的達(dá)到禁用任務(wù)管理的作用,然而這種方法不能夠常用,如果經(jīng)常強(qiáng)制性的關(guān)閉任務(wù)管理的進(jìn)程會(huì)錯(cuò)亂操作系統(tǒng)的消息處理。所以當(dāng)時(shí)寫的桌面管理軟件就沒有真正的被實(shí)用起來。
本次實(shí)現(xiàn)禁用任務(wù)管理的原理是直接修改系統(tǒng)的注冊(cè)表,以達(dá)到讓任務(wù)管理器禁用的目的,修改任務(wù)管理器的注冊(cè)表項(xiàng)為:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System
在這個(gè)項(xiàng)中添加一個(gè)鍵:DisableTaskmgr ,當(dāng)值為1的則是禁用任務(wù)管理器,當(dāng)值為0的時(shí)候則是啟用任務(wù)管理器,我的電腦默認(rèn)是沒有system這個(gè)項(xiàng)的。
上面將原理已經(jīng)介紹了,下面將列出如何用c#實(shí)現(xiàn)這一功能的代碼。
/// <summary>
/// 管理任務(wù)管理器的方法
/// </summary>
/// <param name="arg">0:?jiǎn)⒂萌蝿?wù)管理器 1:禁用任務(wù)管理器</param>
private void ManageTaskManager(int arg)
{
RegistryKey currentUser = Registry.CurrentUser;
RegistryKey system = currentUser.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Policies\System",true );
//如果system項(xiàng)不存在就創(chuàng)建這個(gè)項(xiàng)
if (system == null)
{
system = currentUser.CreateSubKey(@"Software\Microsoft\Windows\CurrentVersion\Policies\System");
}
system.SetValue("DisableTaskmgr", arg, RegistryValueKind.DWord);
currentUser.Close();
}
通過使用這個(gè)方法就可以在程序中禁用任務(wù)管理器。
還的記住要加上以下的引用才行:
Microsoft.Win32;
相關(guān)文章
C#時(shí)間格式轉(zhuǎn)換為時(shí)間戳的方法步驟
這篇文章主要介紹了C#時(shí)間格式轉(zhuǎn)換為時(shí)間戳的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-02-02Entity?Framework映射TPH、TPT、TPC與繼承類
這篇文章介紹了Entity?Framework映射TPH、TPT、TPC與繼承類,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-06-06C#中使用CAS實(shí)現(xiàn)無鎖算法的示例詳解
CAS(Compare-and-Swap)是一種多線程并發(fā)編程中常用的原子操作,用于實(shí)現(xiàn)多線程間的同步和互斥訪問。本文將利用CAS實(shí)現(xiàn)無鎖算法,需要的可以參考一下2023-04-04C#實(shí)現(xiàn)文件上傳下載Excel文檔示例代碼
這篇文章主要介紹了C#實(shí)現(xiàn)文件上傳下載Excel文檔示例代碼,需要的朋友可以參考下2017-08-08Unity的AssetPostprocessor?Model動(dòng)畫函數(shù)使用案例深究
這篇文章主要介紹了Unity的AssetPostprocessor?Model動(dòng)畫函數(shù)使用案例的深入解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-08-08c#反射機(jī)制學(xué)習(xí)和利用反射獲取類型信息
反射(Reflection)是.NET中的重要機(jī)制,通過放射,可以在運(yùn)行時(shí)獲得.NET中每一個(gè)類型(包括類、結(jié)構(gòu)、委托、接口和枚舉等)的成員,包括方法、屬性、事件,以及構(gòu)造函數(shù)等。還可以獲得每個(gè)成員的名稱、限定符和參數(shù)等。有了反射,即可對(duì)每一個(gè)類型了如指掌。如果獲得了構(gòu)造函數(shù)的信息,即可直接創(chuàng)建對(duì)象,即使這個(gè)對(duì)象的類型在編譯時(shí)還不知道2014-01-01C#使用Clipboard類實(shí)現(xiàn)剪貼板功能
這篇文章介紹了C#使用Clipboard類實(shí)現(xiàn)剪貼板功能的方法,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-06-06C#實(shí)現(xiàn)日期格式轉(zhuǎn)換的公共方法類實(shí)例
這篇文章主要介紹了C#實(shí)現(xiàn)日期格式轉(zhuǎn)換的公共方法類,結(jié)合完整實(shí)例形式分析了C#針對(duì)各種常見日期格式的轉(zhuǎn)換方法,涉及C#字符串、日期、時(shí)間相關(guān)操作技巧,需要的朋友可以參考下2017-01-01