2010-06-04 18 views
5

Estoy trabajando en una aplicación de kiosco. Necesito deshabilitar el administrador de tareas. De modo que cuando el usuario presiona [Ctrl + Alt + Supr] y [Ctrl + Shift + Escape], el administrador de tareas no debe aparecer. ¿Cómo?Deshabilitar el administrador de tareas mediante el uso de C#

+2

Sin ofender, pero como usuario, realmente espero que esto no es posible ... –

+2

@Juan Pablo Califano, dijo específicamente la aplicación Quiosco. Esto no es para usuarios normales. Esta es una parte común y útil de la mayoría de las aplicaciones de Kiosk que se ejecutan en áreas públicas donde cualquiera puede acercarse y usarlas. –

+1

@Sam. Ah, buen punto, mi mal. –

Respuesta

13

Puede hacerlo cambiando la configuración de la directiva de grupo.

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

Batirme y mucho más bien factorizado que el mío :) – fmark

+0

@Sam, ¿Es posible habilitarlo de nuevo? – Anuya

+0

@srk, claro, simplemente elimine el valor del registro. –

2

acaba de establecer la clave de registro correspondiente:

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) 
Cuestiones relacionadas