ms c++;获取当前进程的pid 我的应用程序的部分在Windows下的C++中。我需要当前进程的进程id。有什么想法吗

ms c++;获取当前进程的pid 我的应用程序的部分在Windows下的C++中。我需要当前进程的进程id。有什么想法吗,c++,windows,process,pid,C++,Windows,Process,Pid,这个函数可以做到这一点。我已经习惯于看到成堆成堆的代码来完成看似简单的任务,我对GetCurrentProcessId的直接性感到惊喜。今天早些时候,我看到它在调试器中运行,当时我正在跟踪DllMain例程中的一段新代码,该例程将进程ID与嵌入的GUID结合起来,为互斥体创建一个本地唯一的名称 以下是整个例行程序,所有三个机器指令 mov eax,fs:[00000018] mov eax,dword ptr [eax+20h] ret 顺便说一句,另外两个非常

这个函数可以做到这一点。

我已经习惯于看到成堆成堆的代码来完成看似简单的任务,我对
GetCurrentProcessId
的直接性感到惊喜。今天早些时候,我看到它在调试器中运行,当时我正在跟踪
DllMain
例程中的一段新代码,该例程将进程ID与嵌入的GUID结合起来,为互斥体创建一个本地唯一的名称

以下是整个例行程序,所有三个机器指令

mov         eax,fs:[00000018]
mov         eax,dword ptr [eax+20h]
ret
顺便说一句,另外两个非常简单的Windows API函数是
GetLastError
SetLastError
;实际上,这两种方法都非常类似。

您可以使用
getpid()
\u getpid()
,它们在
库中定义


我首先把它读作“摆脱当前进程”:@Otherside让我在词汇表中查找还有
\u getpid()
-
\u getpid()
只调用
GetCurrentProcessId()
。只有一个进程id,返回它的最低级别函数是
GetCurrentProcessId()
。我忘了在“短而甜”的组中提到GetProcessHeap。正如Greg Hewgill在接受的答案中已经提到的那样,
\u getpid()
只调用
GetCurrentProcessId()
,这是返回进程id的最低级别的函数。实际上,在我写这个答案之前,我尝试了
GetCurrentProcessId()
,但是我无法运行它,因为我没有包含
库,这在前面的答案中没有提到。经过几次尝试,我得到了它。