二进制的 C++ Windows 进程 ID

标签 c++ windows binary pid

我想在 Windows 上用 C++ 将程序的进程 ID(通过程序本身)写入文件(首选二进制文件)。 我看到函数的使用:GetProcessId,但我没有设法使用它。
1)如何使用?
2) 如何将值转为二进制并写入文件?

谢谢

最佳答案

您可以使用 GetCurrentProcessId()获取当前进程的进程ID。然后你可以使用ultoa使用基 2(和大小为 sizeof(DWORD) * 8 + 1)的缓冲区将该数字转换为字符串,然后您可以使用 ofstreamfwrite将其写入文件。

例子:

DWORD id = GetCurrentProcessId();

char buf[sizeof(DWORD) * 8 + 1];
ultoa(id, buf, 2);

ofstream f("file.txt");
f << id;

我假设“将值转换为二进制”是指将其转换为表示形式,这样当您打开文件时,它看起来像 1001011110101 或其他内容。如果你只是想把它看成一个数字,那么不要使用 itoa 而是做剩下的。

关于二进制的 C++ Windows 进程 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7378605/

相关文章:

c++ - 将char数组中的元素转换为int

c++ - 为什么不能使用嵌套的初始化程序列表初始化std::array <std::pair <int,int>,3>,但是std::vector <std::pair <int,int >>可以初始化?

c++ - 需要使上下文可用于 C++ ostream 插入运算符

python - 在 Python 中检测计算机/程序关闭?

C# 如何为 Windows 服务创建安装项目以自动安装它?

C程序: Write to and from binary files not working?

C++静态常量成员定义

mysql - 如何在 Windows 系统上开发 Shopware 5?

Sha1 的 C++ Base64 - WebSocket 握手

go - 在 Go 中将十六进制数转换为二进制数并能够访问每一位