c++ - 在 32 位和 64 位操作系统中拍摄进程快照是否有效?

标签 c++ process snapshot

<分区>

我指的是 this page .我在 64 位 Win7 上尝试了代码(并且运行良好)但想知道这种获取数据的方法有什么要求? 它可以在 64 位和 32 位系统上运行吗? 它可以在 Windows XP 上运行吗?远景? 8?

最佳答案

代码可以编译为 32 位或 64 位可执行文件。

32 位可执行文件可以在 32 位或 64 位系统上运行。 64 位可执行文件(当然)只能在 64 位系统上运行。

如果您在 64 位系统上使用 32 位可执行文件,它只会“看到”其他 32 位进程,不会任何 64 位进程。如果您在 64 位系统上使用 64 位可执行文件,它将同时看到 32 位和 64 位进程。

我没有尝试详细检查那个确切的代码来确定它使用的每个函数,但是 ToolHelp32 从(至少)NT 4 开始就存在了,所以至少大多数它在 XP 上应该没问题,在较新的系统上肯定没问题。如果您真的需要针对旧系统 (NT 3.5/3.51),您可以改用 PSAPI,但我很难想象这会成为一个需求。

关于c++ - 在 32 位和 64 位操作系统中拍摄进程快照是否有效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20346035/

相关文章:

amazon-s3 - 将 aws 快照复制到 S3 存储桶

javascript - d3.js 保存状态

c++ - 完美转发

c++ - 用C/C++在Linux中读取内核信息

java - 如何在 Java 9 中获取进程的命令行和参数

c# - 一个进程锁定文件

c - 如何使用 C 发送和捕获发送到 PID 的信号

watchos-2 - 要添加WatchOS 3快照功能,永远不会触发handleBackgroundTasks和scheduleSnapshotRefreshWithPreferredDate

c++ - 这是对临时 std::string 的正确使用吗?

c++ - 如何获得 QMainWindow 中央小部件所在区域的大小?