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