【Python实现禁用任务管理器】

效果展示:

在这里插入图片描述

代码及解析:

提示:使用pyinstaller打包可以避免弹窗,食用更佳哦
提示(2):运行后要等待一段时间再关机哦

禁用代码:

要禁止任务管理器关闭 Python 程序,可以通过修改注册表来实现。以下是示例代码:

import winreg
import ctypes
import sys

#以管理员身份运行此程序
ctypes.windll.shell32.ShellExecuteW(None, "runas", sys.executable, __file__, None, 1)

import winreg

def reg_disable_taskmgr(dwDisable=True):
    try:
        key = winreg.CreateKey(winreg.HKEY_CURRENT_USER, r"Software\Microsoft\Windows\CurrentVersion\Policies\System")
        value = int(dwDisable)
        winreg.SetValueEx(key, "DisableTaskMgr", 1, winreg.REG_DWORD, value.to_bytes(4, byteorder='little'))
        winreg.CloseKey(key)
    except Exception as e:
        print(f"An error occurred: {e}")

reg_disable_taskmgr()

def disable_task_manager():
    # 注册表路径
    registry_path = r"SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
    # 注册表项名
    registry_name = "DisableTaskMgr"
    # 要设置的值(1 表示禁用任务管理器,0 表示启用)
    value = 1
    try:
        reg_key = winreg.OpenKey(winreg.HKEY_CURRENT_USER, registry_path, 0, winreg.KEY_SET_VALUE)
        winreg.SetValueEx(reg_key, registry_name, 0, winreg.REG_SZ, str(value))
        winreg.CloseKey(reg_key)
    except WindowsError as e:
        print(f"设置注册表时发生错误: {e}")

disable_task_manager()

上述代码中定义了一个 disable_task_manager 函数,它用于修改注册表中的特定键值来禁用任务管理器。其中,registry_path 指定了注册表中要操作的路径,registry_name 是要设置的键名,value 为要设置的值(这里设置为 1,表示禁用任务管理器)。

请注意,修改注册表需要管理员权限。此外,这种方法只能在一定程度上禁止普通用户通过任务管理器关闭程序,但对于具有管理员权限或了解系统的高级用户,他们仍然可能有其他方法来终止程序的执行。

另外,这种禁止任务管理器关闭程序的做法可能会影响用户对系统的正常操作和管理,在实际应用中请谨慎使用,并确保你有充分的理由这样做,同时也要遵循相关的法律和规定。并且,此方法可能因操作系统版本和配置的不同而有所差异。

如果想要重新启用任务管理器,可以将 value 的值修改为 0,然后再次运行代码。或者使用以下代码来删除对应的注册表项:

恢复代码:

import winreg
import ctypes
import sys

#以管理员身份运行此程序
ctypes.windll.shell32.ShellExecuteW(None, "runas", sys.executable, __file__, None, 1)

def enable_task_manager():
    registry_path = r"SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
    registry_name = "DisableTaskMgr"
    try:
        reg_key = winreg.OpenKey(winreg.HKEY_CURRENT_USER, registry_path, 0, winreg.KEY_ALL_ACCESS)
        winreg.DeleteValue(reg_key, registry_name)
        winreg.CloseKey(reg_key)
    except WindowsError as e:
        print(f"删除注册表项时发生错误: {e}")

enable_task_manager()

成功恢复
在这里插入图片描述

  • 5
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值