C 什么';Win32 API是否完全禁用任务管理器?

C 什么';Win32 API是否完全禁用任务管理器?,c,winapi,taskmanager,C,Winapi,Taskmanager,也就是说,即使按Ctrl+Alt+Del,任务管理器也不会弹出。通常不需要这样做,而且无论如何,即使您认为需要,也不应该这样做。允许用户使用任务管理器执行诸如禁用或终止进程之类的操作有很好的理由。以这样一种根本的方式干扰系统通常是不受欢迎的,这是有充分理由的。更重要的是,通常情况下,你需要这样做是没有正当理由的 无论如何,无法直接禁用启动Taskmanager,但至少有3种间接方法: 安装全局低级键盘挂钩并放弃Ctrl-Alt-Del按键(这可能在某些版本的Windows上不起作用,如果用户正在

也就是说,即使按Ctrl+Alt+Del,任务管理器也不会弹出。

通常不需要这样做,而且无论如何,即使您认为需要,也不应该这样做。允许用户使用任务管理器执行诸如禁用或终止进程之类的操作有很好的理由。以这样一种根本的方式干扰系统通常是不受欢迎的,这是有充分理由的。更重要的是,通常情况下,你需要这样做是没有正当理由的

无论如何,无法直接禁用启动Taskmanager,但至少有3种间接方法:

  • 安装全局低级键盘挂钩并放弃Ctrl-Alt-Del按键(这可能在某些版本的Windows上不起作用,如果用户正在运行防病毒软件,则会触发警报)
  • 安装您自己的无操作Taskmanager(ProcessExplorer会这样做,所以它应该可以工作)
  • 从taskmanager可执行文件中删除“读取执行”权限(此操作可以确认有效,我曾经意外地这样做过一次)

  • 显然,这三种“解决方案”都是超级侵入式的,并且具有超级恶意的特征,因此在做任何此类事情之前,您应该仔细考虑10次。如果你这样做了,如果你破坏了你的系统,不要抱怨。

    当用户可以进入并再次打开它时,你可以将这个注册表项设置为1

    HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System\DisableTaskmgr
    

    (可能不存在\System\和DisableTaskmgr,因此创建它们时,DisableTaskmgr应为DWORD32键)

    您可以使用或禁用对任务管理器的访问

    要使用编辑器,请运行
    gpedit.msc
    并导航到“用户配置”->“管理模板”->“系统”->“Ctrl+Alt+Del选项”。双击“删除任务管理器”设置并将其设置为“已启用”

    关闭策略编辑器,然后运行命令
    gpupdate/force
    应用更改

    完成此操作后,如果用户尝试访问任务管理器,则会收到一条消息,说明访问已禁用

    编辑


    如果用户是管理员,则他们可以(如果知道如何)进入gpedit并重新启用taskmanager。为了避免这种情况,请让他们成为用户或来宾组的成员:他们将无法更改任何策略设置。

    JK:
    del\Windows\System32\taskmgr.exe
    @pmg,LOL:)但说真的,有办法吗?这是一个系统策略问题,而不是编程问题。重定向到serverfault。一定有更好的解决方案,我以前见过这种软件。嗯,“更好”有点争议。就像我说的,通常没有任何正当的理由来解释你为什么需要这个。我可以根据我的经验向您保证(当我创建了一个不小心无法访问ProcessExplorer的exe的受限用户帐户时),如果您按Ctrl-Alt-Del而什么也没有发生,那将是非常烦人的。如果你故意这样做,你的最终用户会恨你。可能有合理的理由。。。比如在运行信息亭时。或者当您运行的软件不希望允许用户禁用时。另一个例子是,一个记录登录互联网会客厅后时间的应用程序。OP不是试图禁用Ctrl-Alt-Del,而是试图禁用对任务管理器的访问。@Andy Johnson:对不起,我的措辞可能有点含糊不清,将对其进行编辑。我认为WMI应该提供一种从代码中执行此操作的方法。@Agnel Kurian-添加了一个指向Windows 7上API docsSomehow的链接。如果没有管理员权限,则无法工作。