C ++ Windows идентификатор процесса в двоичном формате - PullRequest
1 голос
/ 11 сентября 2011

Я хотел бы написать в C ++ на Windows ID prcoess программы (самой программой) в файле (предпочтительнее двоичный).Я видел использование функции: GetProcessId, но мне не удалось с ней работать.
1) Как ее использовать?
2) Как перевести значение в двоичный файл и записать в файл?

Спасибо

Ответы [ 2 ]

4 голосов
/ 11 сентября 2011

Вы можете использовать GetCurrentProcessId(), чтобы получить идентификатор текущего процесса. Затем вы можете использовать ultoa для преобразования этого числа в строку, используя base 2 (и буфер размером sizeof(DWORD) * 8 + 1), затем вы можете использовать ofstream или fwrite, чтобы записать его в файл.

Пример:

DWORD id = GetCurrentProcessId();

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

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

Я предполагаю, что под "переводом значения в двоичный файл" вы подразумеваете превращение его в представление, чтобы при открытии файла оно выглядело как 1001011110101 или что-то в этом роде. Если вы просто хотите увидеть его как число, не используйте itoa, а сделайте все остальное.

2 голосов
/ 11 сентября 2011

Получите идентификатор процесса, позвонив по номеру GetCurrentProcessId().Вам не нужно преобразовывать это в двоичное представление, поскольку целочисленные типы уже хранятся в двоичном виде.Просто запишите это в файл.

...