2010-06-04 15 views
5

का उपयोग कर टास्कमैनर को प्रोग्रामिक रूप से अक्षम करना मैं कियोस्क एप्लिकेशन पर काम कर रहा हूं, मुझे टास्कमैनर को अक्षम करने की आवश्यकता है। ताकि जब उपयोगकर्ता [Ctrl + Alt + Del] और [Ctrl + Shift + Escape] दबाए, तो कार्यकर्ता को पॉप अप नहीं करना चाहिए। कैसे?सी #

+2

कोई अपराध है, लेकिन एक उपयोगकर्ता के रूप में, मैं वास्तव में आशा है कि यह संभव नहीं है ... –

+2

@Juan पाब्लो Califano, वह विशेष रूप से कियोस्क एप्लिकेशन कहा। यह सामान्य उपयोगकर्ताओं के लिए नहीं है। यह अधिकांश कियोस्क ऐप्स का एक आम और उपयोगी हिस्सा है जो सार्वजनिक क्षेत्रों में चलता है जहां कोई भी चल सकता है और उनका उपयोग कर सकता है। –

+1

@ सैम। आह, अच्छा बिंदु, मेरा बुरा। –

उत्तर

13

आप समूह नीति सेटिंग्स को बदलकर ऐसा कर सकते हैं।

public void KillCtrlAltDelete() 
{ 
    RegistryKey regkey; 
    string keyValueInt = "1"; 
    string subKey = "Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\System"; 

    try 
    { 
     regkey = Registry.CurrentUser.CreateSubKey(subKey); 
     regkey.SetValue("DisableTaskMgr", keyValueInt); 
     regkey.Close(); 
    } 
    catch (Exception ex) 
    { 
     MessageBox.Show(ex.ToString()); 
    } 
} 
+0

मुझे मारो और मेरी तुलना में बहुत अधिक अच्छी तरह से फैक्टर :) – fmark

+0

@ सैम, इसे वापस सक्षम करना संभव है? – Anuya

+0

@ एसआरके, निश्चित रूप से, बस रजिस्ट्री मान को हटा दें। –

2

बस उपयुक्त रजिस्ट्री कुंजी सेट:

public void SetRegistryKey(Microsoft.Win32.RegistryKey regHive, string regKey, string regName, string regValue) 
{ 
    bool response = false; 

    Microsoft.Win32.RegistryKey key = regHive.OpenSubKey(regKey); 
    if (key == null) 
    { 
     regHive.CreateSubKey(regKey, Microsoft.Win32.RegistryKeyPermissionCheck.ReadWriteSubTree); 
    } 
    key = regHive.OpenSubKey(regKey,true); 
    key.SetValue(regName, (string)regValue); 
} 

SetRegistryKey(RegistryHive.CurrentUser, "Software\Microsoft\Windows\CurrentVersion\Policies\System", "DisableTaskMgr", 1)