二进制的c++ Windows进程ID

C++ Windows process ID in binary

本文关键字:进程 ID Windows c++ 二进制      更新时间:2023-10-16

我想在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,而是做其余的。

通过调用GetCurrentProcessId()获取进程ID。您不需要将其转换为二进制表示,因为整型已经存储在二进制中。