2010-06-04 18 views
5

Bir Kiosk uygulamasında çalışıyorum, görev yöneticisini devre dışı bırakmam gerekiyor. Böylece kullanıcı [Ctrl + Alt + Del] ve [Ctrl + Shift + Escape] tuşlarına bastığında, görev yöneticisi görünmez. Nasıl?Kullanarak Taskmanager'ı devre dışı bırakma C#

+2

Hiçbir suç, ama bir kullanıcı olarak, gerçekten bu mümkün değil umut ... –

+2

@Juan Pablo Califano, o özellikle Kiosk uygulaması söyledi. Bu normal kullanıcılar için değil. Bu, herkesin yürüyebileceği ve kullanabileceği ortak alanlarda çalışan çoğu Kiosk uygulamasının ortak ve kullanışlı bir parçasıdır. –

+1

@Sam. Ah, iyi nokta, benim kötü. –

cevap

13

Grup ilkesi ayarlarını değiştirerek bunu yapabilirsiniz.

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

beni yendi ve çok daha güzel bir şekilde mayın :) – fmark

+0

@Sam daha çarpanlarına, Geri etkinleştirmek mümkün mü? – Anuya

+0

@srk, kayıt defteri değerini kaldır. –

2

Sadece uygun kayıt defteri anahtarını ayarlayın:

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) 
İlgili konular