c#如何禁用win7的工作管理員

來源:互聯網
上載者:User

標籤:c   style   class   blog   code   a   

以前製作的案頭鎖屏軟體雖然也禁用過工作管理員,但是採取的是比較笨的方法,而且對作業系統還有一定的危害。因為任務管理也是一個表單也就是說它中也是一個獨立進程,所以只需要強制性關閉這個進程即可以關閉工作管理員了,任務管理的進程名稱為“taskmgr”,在程式用一個單獨的計時器,每100毫秒遍曆一次系統開啟的所有的進程,但凡出現進程的名稱與工作管理員名稱相同直接關閉。這樣就可以間接的達到禁用任務管理的作用,然而這種方法不能夠常用,如果經常強制性的關閉任務管理的進程會錯亂作業系統的訊息處理。所以當時寫的案頭管理軟體就沒有真正的被實用起來。

本次實現禁用任務管理的原理是直接修改系統的註冊表,以達到讓工作管理員禁用的目的,修改工作管理員的登錄機碼為:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System

在這個項中添加一個鍵:DisableTaskmgr  ,當值為1的則是禁用工作管理員,當值為0的時候則是啟用工作管理員,我的電腦預設是沒有system這個項的。

上面將原理已經介紹了,下面將列出如何用c#實現這一功能的代碼。

         

 1        /// <summary> 2  3         /// 管理工作管理器的方法 4         /// </summary> 5         /// <param name="arg">0:啟用工作管理員 1:禁用工作管理員</param> 6         private void ManageTaskManager(int arg) 7         { 8             RegistryKey currentUser = Registry.CurrentUser; 9             RegistryKey system = currentUser.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Policies\System",true );10             //如果system項不存在就建立這個項11             if (system == null)12             {13                 system = currentUser.CreateSubKey(@"Software\Microsoft\Windows\CurrentVersion\Policies\System");14             }15             system.SetValue("DisableTaskmgr", arg, RegistryValueKind.DWord);16             currentUser.Close();17         }
View Code

 

 通過使用這個方法就可以在程式中禁用工作管理員。 還的記住要加上以下的引用才行: Microsoft.Win32;
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.