MS C++ получить PID текущего процесса
Части моего приложения в C++ под Windows. Мне нужен идентификатор процесса для текущего процесса. Какие-нибудь мысли?
2 ответа
Привыкнув видеть дворы кода для выполнения, казалось бы, простых задач, я был приятно удивлен прямотой 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