C ++ - процесс информации - PullRequest
       0

C ++ - процесс информации

0 голосов
/ 17 октября 2011

Я пишу кроссплатформенную программу, которая требует простой информации о работающей программе: process name, process id, thread id.

process id и thread id просто получить на каждой платформе, используя директивы препроцессора.

Но для process name я просмотрел интернет и не нашел ничего легкого и немного кроссплатформенного, что неудивительно. Поскольку я пишу библиотеку, которая должна быть чрезвычайно простой в использовании, у меня нет доступа к argv[0], что именно то, что я хочу.

Я хотел бы знать, есть ли у кого-нибудь простой способ сделать это? Эта функция не реализована в официальной версии Boost .. к сожалению: (

Ответы [ 2 ]

2 голосов
/ 17 октября 2011

В дополнение к ответу @Andrejs Cainikovs, решение для Windows - это простой вызов GetModuleFileName(NULL, charBuffer, elementCount):

2 голосов
/ 17 октября 2011

Что ж, я сомневаюсь, что вы найдете хорошее кроссплатформенное решение.
Скорее всего, у вас будет какой-то специфичный для платформы код в #ifdef.

Стандартный способ изучения Linux/proc и анализ результатов.
Windows использует больной API .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...