MS C++ получить PID текущего процесса

Части моего приложения в C++ под Windows. Мне нужен идентификатор процесса для текущего процесса. Какие-нибудь мысли?

2 ответа

Решение

GetCurrentProcessId Функция сделает это.

Привыкнув видеть дворы кода для выполнения, казалось бы, простых задач, я был приятно удивлен прямотой GetCurrentProcessId, Ранее сегодня я наблюдал, как он запускается в отладчике, когда я следил за новым фрагментом кода в DllMain подпрограмма, которая объединяет идентификатор процесса со встроенным GUID для создания локально уникального имени мьютекса.

Ниже приведена вся рутина, все три машинные инструкции.

mov         eax,fs:[00000018]
mov         eax,dword ptr [eax+20h]
ret

Кстати, две другие благословенно простые функции Windows API GetLastError а также SetLastError; действительно, оба очень похожи на этот.

Вы можете использовать getpid() или же _getpid(), которые определены в <process.h> библиотека.

https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/getpid?view=vs-2019

Другие вопросы по тегам