如何防止任务管理器杀死我的程序?

2023-12-19

有什么方法可以保护我的 Delphi 应用程序不被 Windows 任务管理器(或其他类似 Process Explorer)杀死?

我认为 Windows 消息可以做到这一点(通过执行挂钩并拦截 TerminateProcess 消息)。

我想要一个这种保护的例子。卡巴斯基反病毒套件是这样的;我们无法在任务管理器中结束他们的进程。


正如 Kornel 所说,对用户隔离的进程有操作系统级别的保护。但一般来说,没有办法阻止您的进程被有权执行此操作的用户终止。用户有权终止以该用户身份运行的进程。

即使您想以 SYSTEM 身份运行它,也无法使用此进程与登录用户进行交互。您需要将其作为服务运行,并且它没有 GUI。您可以尝试其他方法,例如将 DLL 加载到像 Explorer.exe 这样的进程中,用户不会终止该进程,因为他们不想这样做,但这只是滥用行为。

如果开发人员只能编写无法终止的应用程序,那么对于最终用户来说,这将是一个非常糟糕的情况。如果这是一个内部应用程序,您可以检查服务器故障以查看是否有某种方法可以通过组策略实现它。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何防止任务管理器杀死我的程序? 的相关文章

  • Delphi IDE导致CPU过热

    我正在使用 Delphi 7 但我已经尝试过 Delphi 2005 2010 版本 在所有这些新版本中 当 Delphi IDE 在屏幕上可见时 我的 CPU 利用率为 50 一个核心为 100 另一个核心为 宽松 当 IDE 最小化时
  • SetCurrentDirectoryW 中的错误 206

    在我之后之前不清楚的问题 https stackoverflow com questions 44389617 long path name in setcurrentdirectoryw 我以某种方式能够创建一个具有长路径名的目录 但是
  • Windows C++ 中的键盘钩子还是什么?

    我希望构建自己的应用程序 它可以将键盘命令 消息 发送到 Windows 操作系统 例如 当我按下组合键 ctrl shift n 时 我希望启动 notepad exe 我怎样才能做到这一点 您对所使用的概念有什么建议吗 我读过 何时使用
  • Windows 目录永远不会包含临时文件的非 ASCII 字符?

    在 Windows 上使用 MinGW 7 3 0 由于 Windows 限制 Hunspell 无法从包含非 ASCII 字符的位置加载字典文件 我已经尝试了所有方法 1 现在我将文件复制到没有 ASCII 字符的路径 然后再将其交给 H
  • 退出时的 Powerpoint 问题

    我有一些 C 代码 可以打开 Powerpoint 幻灯片 刷新图表 然后退出 这工作正常 除非用户已经打开了 Powerpoint 幻灯片 在这种情况下 一旦 exe 运行 它将关闭他们现有的会话 丢失他们可能所做的任何更改 所以 问题是
  • 如何将纹理传递给 DirectX 9 像素着色器?

    我有像素着色器 fxc exe tiles fs T ps 3 0 Fotiles fsc Fctiles fsl struct PSInput float4 Pos TEXCOORD0 float3 Normal TEXCOORD1 fl
  • 所见即所得与 Unicode

    我在 Delphi 中编写了一个 Windows 程序 该程序使用 GetCharWidth 和 Em Square 将文本非常精确地放置并换行到屏幕和打印机 这对于 ANSI 文本效果很好 您只需要检索和计算 255 个字符的宽度 但当您
  • 关闭有效句柄时,AppVerifier 报告“无效句柄 - 代码 c0000008”

    我有一个简单的测试程序 在运行时会失败并出现异常AppVerifier 程序重复STD INPUT HANDLE然后尝试使用关闭它CloseHandle 该程序运行良好 无需AppVerifier返回TRUE for CloseHandle
  • 用于创建计划任务的 VBScript

    我正在尝试创建一个 VBScript 它创建一个批处理文件 然后创建一个计划任务来运行该批处理文件 到目前为止 我尝试过的所有操作都创建了批处理文件 但没有创建计划任务 并且我没有收到任何错误 这是我到目前为止所拥有的 Option Exp
  • 在 Delphi 中的 SOAP 标头中发送简单字符串

    我需要发送这样的东西
  • 如何让R使用所有处理器?

    我有一台运行 Windows XP 的四核笔记本电脑 但查看任务管理器 R 似乎一次只使用一个处理器 如何让 R 使用全部四个处理器并加速我的 R 程序 我有一个基本系统 我使用它在 for 循环上并行化我的程序 一旦您了解需要做什么 此方
  • 将 value 转换为 bool 的魔法

    今天我意识到将值转换为 bool 是一种魔法 int value 0x100 unsigned char uc static cast
  • SetWindowsHookEx 函数返回 NULL

    我正在研究 DLL 注入 但收到错误如下 挂接进程失败 87 参数不正确 目标进程和dll都是64位的 注入代码为 BOOL HookInjection TCHAR target TCHAR dll name https msdn micr
  • 将 [字节数组] 分配给没有 Unicode 转换的 Variant

    考虑以下代码片段 在 Delphi XE2 中 function PrepData StrVal string Base64Val AnsiString OleVariant begin Result VarArrayCreate 0 1
  • Delphi 将面板流传输至文件

    今天我有一个关于将表单的一部分流式传输到文件的问题 在此示例中 我使用 Tmemo 而不是文件来查看流 这是我的表格 表单右上角的面板有一些控件 如标签 编辑等 使用 保存面板 按钮将面板保存在 TStream 上 这里是代码 proced
  • 查找字符串是否在列表中的最佳方法(没有泛型)

    我想做这样的事情 Result MyString in string1 string2 string3 string4 这不能与字符串一起使用 我不想做这样的事情 Result MyString string1 or MyString st
  • npm package.json bin 无法在 Windows 上运行

    我正在尝试通过 package json 启动我的 cli 工具bin财产 我有以下内容 name mycli bin bin mycli 当我在包路径中打开 cmd 并输入 mycli 时 它表示该命令无法识别 我应该运行 npm 命令吗
  • 从 Powershell 脚本安装 Python

    当以管理员身份从 PowerShell 命令行运行以下命令时 可以在 Windows 11 上成功安装 Python c temp python 3 11 4 amd64 exe quiet InstallAllUsers 0 Instal
  • TThread.resume 在 Delphi-2010 中已弃用,应该在什么地方使用?

    在我的多线程应用程序中 I use TThread 挂起 and TThread resume 自从将我的应用程序移至 Delphi 2010 后 我收到以下警告消息 DCC 警告 xxx pas 277 W1000 符号 Resume 已
  • 无法访问127.0.0.1

    我不知道这种情况何时开始发生 但结果是 127 0 0 1 无法在任何地方的任何端口上工作 例如 浏览器显示无法连接 以下是我的研究结果 localhost COMPUTER NAME 和实际 IP 地址都工作正常 我的主机文件中没有什么特

随机推荐

  • 如何使用nodejs禁用tls 1.0并仅使用tls 1.1

    我想禁用 TLS v1 0 并仅使用 TLS 1 1 及更高版本 通过nodejs 我使用https模块 如何设置https选项 我已阅读 api 文档节点 API TLS https nodejs org api tls html 但我还
  • 片段 setuserVisibleHint true 但 getActivity 返回 null

    我一直在片段内部做一些逻辑setUserVisibleHint 方法 我一直在检查是否isVisibleToUser为 true 然后使用getActivity返回活动 在我将支持库更新到最新版本之前 这一切都运行良好 100 的时间 su
  • 当鼠标停止移动时执行Jquery

    我有一个快速脚本 其轨迹跟随光标 jQuery document ready function document mousemove function e fall each function if this css opacity 0 t
  • SQL:使 COUNT(*) > 1 高效

    如果你想知道是否COUNT gt 0 那么你可以使用EXISTS使查询更加高效 当我想知道是否可以时 有没有一种方法可以使查询更有效COUNT gt 1 需要与 SQL Server 和 Oracle 兼容 谢谢 杰米 Edit 我正在尝试
  • Dapper 支持 like 运算符吗?

    使用 Dapper dot net 以下在数据对象中不会产生任何结果 var data conn Query select top 25 Term as Label Type ID from SearchTerms WHERE Term l
  • 线程安全和非线程安全 PHP Windows 安装包之间有哪些技术差异?

    我目前正准备为基于 Apache Windows 的开发环境安装 PHP 但似乎我即将遇到第一个障碍 选择要安装的正确包 PHP 的可用版本不少于four口味 http windows php net download VC9 x86 非线
  • R:简单乘法导致整数溢出

    在较长的脚本中 我必须将向量 A 的长度 2614 乘以数据帧 B 的行数 1456000 如果我直接这样做length A nrow B 我收到消息NAs produced by integer overflow尽管当我乘以相同的数字时没
  • 如何在spark中读取orc事务hive表?

    如何在spark中读取orc事务hive表 我在通过 Spark 读取 ORC 事务表时遇到问题 我获得了配置单元表的架构 但无法读取实际数据 查看完整场景 hive gt create table default Hello id int
  • Selenium 验证 div 有滚动条

    我正在尝试验证特定的 div 有滚动条 如何使用 Selenium 来做到这一点 元素 div class checkout mini cart Code JavascriptExecutor jsExecutor JavascriptEx
  • 当自动递增列用完时会发生什么?

    考虑一个带有自动增量列的简单表 如下所示 CREATE TABLE foo fooid bigint unsigned NOT NULL auto increment snipped other columns PRIMARY KEY fo
  • 除了静态库本身之外,停止 cmake target_link_libraries 链接静态库的两个目标文件

    我尝试使用 cmake ninja msvc 在 Windows 上构建一个相当大的共享库 它由子文件夹中的多个静态库组成 那么一个根CMakeLists txt好像 project sharedlib CXX include CMAKE
  • 如何检查计费协议是否有效或取消?

    我在 PayPal 中使用参考交易 API 不确定计费时计费协议是否有效 我想提前了解计费协议是否被取消 我想知道计费协议取消电话的回拨电话 要检查计费协议的状态 您可以使用 BAUpdate API NVP METHOD BillAgre
  • R 中 N 个元素与 q 个元素的组合

    I have N 6元素和q 3元素符号为0 1 2 我想创建的所有向量N 6元素与2元素等于0 2元素等于1 and 2元素等于2在所有可能的位置 这些向量的数量等于combn 6 2 combn 4 2 combn 2 2 90 这是构
  • qt中的“morph into”有什么用?

    在qt gui编辑器中 任何gui组件都可以变形为某种类型的其他gui组件 但实际上 这个选项的实际用途是什么 可以动态完成吗 如果是的话那么这样做的好处是什么 实际用途是快速将小部件转换为其他类似的小部件 假设您有一个包含一些小部件的组框
  • Azure 无效 AccessToken

    我正在尝试使用 Microsoft Azure Management Resources 库来管理一些 Azure 资源 我已在 Azure AD 中注册了应用程序 并授予了它所有权限 我获取了它的 ApplicationId 和 Secr
  • 链接器文件中输入和输出部分之间的区别?

    虽然在生成的二进制或 ELF 文件的上下文中可以清楚什么是节 但文档中的许多地方 与所使用的编译器无关 将它们称为输入或输出节 它们之间有什么区别 链接器使用目标文件 以及可能的共享库 并输出 可执行文件或共享库 输入目标文件由命名的 部分
  • 在 Python 2.4 中处理上下文类

    我正在尝试使用 python daemon 模块 它提供 daemon DaemonContext 类来正确地守护脚本 虽然我主要针对 Python 2 6 但我想保持对版本 2 4 的向后兼容性 Python 2 5 支持从以下位置导入上
  • 创建一个接受对象但不接受数组的通用函数

    我想创建一个满足以下条件的通用 TypeScript 函数 f a 1 success f undefined success f should fail the type check f 1 2 should fail the type
  • ImageMagick PATH 无法被knitr 中的engine = "tikz" 识别

    我正在尝试编译 TikZ 图形knitr 我正在使用可用的示例here https github com yihui knitr examples blob master 058 engine tikz Rmd 我专门尝试从 Rstudio
  • 如何防止任务管理器杀死我的程序?

    有什么方法可以保护我的 Delphi 应用程序不被 Windows 任务管理器 或其他类似 Process Explorer 杀死 我认为 Windows 消息可以做到这一点 通过执行挂钩并拦截 TerminateProcess 消息 我想