对不起,如果我重复在网上许多地方发现的相同问题。请不要告诉“谷歌”,我做了很多谷歌搜索和 stackoverflow 搜索,找到了很多解决方案。没有什么能帮上忙。
我正在创建一个类似 Kiosk 的应用程序,我想在其中阻止用户访问任务管理器。通过我对 win32 api 的研究和谷歌搜索,我想出了以下代码。
        string user = Environment.UserDomainName + "\\" + Environment.UserName;
        RegistrySecurity rs = new RegistrySecurity();
        rs.AddAccessRule(new RegistryAccessRule(user,
            RegistryRights.FullControl,
            InheritanceFlags.None,
            PropagationFlags.None,
            AccessControlType.Allow));
        RegistryKey rk = null;
        try
        {
            rk = Registry.CurrentUser.CreateSubKey(
                @"Software\Microsoft\Windows\CurrentVersion\Policies\System",
                RegistryKeyPermissionCheck.Default, rs);
            rk.SetValue("DisableTaskMgr", 1);
        }
        catch(Exception ex)
        {
            MessageBox.Show(ex.Message);
        }
        if (rk != null) rk.Close();
我仍然收到权限错误。我在 Windows 8 系统上。我的防病毒软件也被禁用。如果我手动进行注册表编辑,它会给出正确的结果。

请帮我解决这个问题。