2008-11-18 81 views
22

我的應用程序的一部分是在windows下的C++。我需要當前進程的進程ID。有什麼想法嗎?ms C++獲取當前進程的pid

+0

不錯的問題其實 – 2008-11-18 10:29:04

+2

我第一次閱讀它爲「擺脫當前的過程」:) – Otherside 2008-11-18 10:52:54

+0

@其他他讓我看起來在詞彙 – SerG 2015-02-05 11:45:35

回答

5

已經習慣於看到碼和碼的代碼來完成看似簡單的任務,我對GetCurrentProcessId的直接性感到驚喜。今天早些時候,當我在DllMain例程中關注新代碼時,我看到它在調試器中運行,該例程將進程ID與嵌入的GUID結合起來,爲互斥體創建本地唯一的名稱。

以下是整個例程,全部三個機器指令。

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

BTW,其他兩個幸好簡單的Windows API函數是GetLastErrorSetLastError;事實上,兩者都非常相似。