C ++ Windows二进制进程ID

时间:2011-09-11 13:43:51

标签: c++ windows binary pid

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

由于

2 个答案:

答案 0 :(得分:4)

您可以使用GetCurrentProcessId()获取当前进程的进程ID。然后,您可以使用ultoa将该数字转换为使用基础2(以及大小为sizeof(DWORD) * 8 + 1的缓冲区)的字符串,然后您可以使用ofstream或{{3}将它写入文件。

示例:

DWORD id = GetCurrentProcessId();

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

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

我认为通过“将值传递给二进制”你的意思是将其转换为表示形式,这样当您打开文件时,它看起来像1001011110101或其他东西。如果您只是想将其视为一个数字,那么请不要使用itoa,而是要完成剩下的工作。

答案 1 :(得分:2)

通过致电GetCurrentProcessId()获取进程ID。您不需要将其转换为二进制表示,因为整数类型已经存储在二进制中。只需将其写入文件即可。