public static void ToggleTaskManager(string keyValue)
{
RegistryKey objRegistryKey = Registry.CurrentUser.CreateSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\System");
objRegistryKey.SetValue("DisableTaskMgr", keyValue);
objRegistryKey.Close();
}
private void btnDisableTaskManager_Click(object sender, EventArgs e)
{
ConsoleDisplay.ToggleTaskManager("1");
}
private void btnEnableTaskManager_Click(object sender, EventArgs e)
{
ConsoleDisplay.ToggleTaskManager("0");
}
对于禁用/启用上面使用的TaskManager功能,但是当我第一次禁用时它会正确禁用。但是当我点击启用按钮时未启用TaskManager。
答案 0 :(得分:4)
是的,删除会有效。意思是,使用此代码切换:
public void ToggleTaskManager()
{
RegistryKey objRegistryKey = Registry.CurrentUser.CreateSubKey(
@"Software\Microsoft\Windows\CurrentVersion\Policies\System");
if (objRegistryKey.GetValue("DisableTaskMgr") == null)
objRegistryKey.SetValue("DisableTaskMgr", "1");
else
objRegistryKey.DeleteValue("DisableTaskMgr");
objRegistryKey.Close();
}
或此代码设置:
public void SetTaskManager(bool enable)
{
RegistryKey objRegistryKey = Registry.CurrentUser.CreateSubKey(
@"Software\Microsoft\Windows\CurrentVersion\Policies\System");
if (enable && objRegistryKey.GetValue("DisableTaskMgr") != null)
objRegistryKey.DeleteValue("DisableTaskMgr");
else
objRegistryKey.SetValue("DisableTaskMgr", "1");
objRegistryKey.Close();
}
答案 1 :(得分:1)
尝试删除密钥,而不是将值设置为False
答案 2 :(得分:0)
试试这个:
public void SetTaskManager(bool enable)
{
RegistryKey objRegistryKey = Registry.CurrentUser.CreateSubKey(
@"Software\Microsoft\Windows\CurrentVersion\Policies\System");
if (enable && objRegistryKey.GetValue("DisableTaskMgr") != null)
objRegistryKey.DeleteValue("DisableTaskMgr");
else
objRegistryKey.SetValue("DisableTaskMgr", "1");
objRegistryKey.Close();
}
启用/可靠:(抱歉,我的英语非常糟糕......)
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
switch (e.KeyCode)
{
case Keys.F1:
{
SetTaskManager(Convert.ToBoolean(1));
}
break;
}
注意:您必须具有管理员权限才能运行该程序。
答案 3 :(得分:0)
答案4是Okey但是Uu需要一个更多的代码,这个%100是真的( RegistryValueKind.DWord );
RegistryKey objRegistryKey = Registry.CurrentUser.CreateSubKey(
@"Software\Microsoft\Windows\CurrentVersion\Policies\System");
if (objRegistryKey.GetValue("DisableTaskMgr") == null)
objRegistryKey.SetValue("DisableTaskMgr", "1", RegistryValueKind.DWord);
else
objRegistryKey.DeleteValue("DisableTaskMgr");
objRegistryKey.Close();
答案 4 :(得分:0)
要禁用TaskManager,必须在注册表(用户本地计算机而不是当前用户)中设置DWord字符串。 使用以下代码。(在Windows 7中不起作用)
Microsoft.Win32.RegistryKey key;
key = Microsoft.Win32.Registry.LocalMachine.OpenSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\System",true);
key.SetValue("DisableTaskMgr", "1", RegistryValueKind.DWord);
key.Close();
该用户应用程序的必须在“管理员权限”下运行。在app.manifest中发生以下更改,以便在管理员权限中使用应用程序
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />