使用c#以编程方式禁用Taskmanager

时间:2010-06-04 02:16:27

标签: c# windows taskmanager kiosk

我正在使用Kiosk应用程序,我需要禁用任务管理器。因此,当用户按下[Ctrl + Alt + Del]和[Ctrl + Shift + Escape]时,不应弹出任务管理器。怎么样?

2 个答案:

答案 0 :(得分: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());
    }
}

答案 1 :(得分: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)