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()
,但是我无法运行它,因为我没有包含
库,这在前面的答案中没有提到。经过几次尝试,我得到了它。