Части моего приложения находятся на С++ под окнами. Мне нужен идентификатор процесса для текущего процесса. Есть предположения?
Ms С++ получить pid текущего процесса
Ответ 1
Функция GetCurrentProcessId
сделает это.
Ответ 2
Привыкший видеть ярды и ярды кода для выполнения кажущихся прямолинейными задач, я был приятно удивлен прямотой GetCurrentProcessId
. Ранее сегодня я наблюдал, как он запускается в отладчике, когда я выполнял новый бит кода в подпрограмме DllMain
, которая объединяет идентификатор процесса со встроенным GUID для создания локально уникального имени для мьютекса.
Ниже приведена вся процедура, все три машинные инструкции.
mov eax,fs:[00000018]
mov eax,dword ptr [eax+20h]
ret
Кстати, две другие блаженно простые функции Windows API: GetLastError
и SetLastError
; действительно, оба они очень похожи на этот.