c++ - 外部是否可以检测到 'end process'?

标签 c++ windows

是否有某种方法可以检测程序是否被 Windows 任务管理器的“结束进程”结束? 我知道从正在结束的应用程序内部执行此操作有点不可能(除了将应用程序构建为驱动程序并 Hook ZwTerminateProcess 之外),但我想知道是否有一种方法可以从外部注意到它。 我不想阻止程序终止,只是想知道它是通过“结束进程”(而不是通过任何其他方式)结束的。

最佳答案

可能有更好的方法 - 但使用一个简单的标志怎么样?

当然,您必须将此标志保留在进程/程序内存之外的某个位置 - 例如注册表、数据库或文件系统。本质上,当应用程序启动时,您将标志设置为“True”;当应用程序通过正常方式关闭时,您将标志设置为“False”。

每次应用程序启动时,您都可以检查该标志,看看它上次执行时是否没有正确关闭。

关于c++ - 外部是否可以检测到 'end process'?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7435404/

相关文章:

c++ - 使用目标 Windows 7 编译后缺少 shcore.dll

c++ - 在 mingw-w64/msys2 中编​​译的应用程序, "the application was unable to start correctly (0xc00007b"

具有临时消除功能的 C++ OpenCL 矩阵库

windows - 什么是 Windows Azure?

c# - 如果文本框为空,如何禁用按钮

c++ - 为派生类生成唯一 ID

c# - 使用 C++ 或 C# 打开之前的全局检测文件信息

c++ - QList表现奇怪

c++ - 排序列表,实现文件

C++将字符串传递给映射