我的应用程序的一部分是在Windows下的C ++中。我需要当前进程的进程ID。有什么想法吗?
答案 0 :(得分:39)
GetCurrentProcessId
功能会执行此操作。
答案 1 :(得分:6)
我已经习惯于看到码和码的代码来完成看似简单的任务,我对GetCurrentProcessId
的直接性感到惊喜。今天早些时候,当我在DllMain
例程中跟踪一小段代码时,我看到它在调试器中运行,该例程将进程ID与嵌入式GUID组合在一起,为互斥锁创建本地唯一名称。
以下是整个例程,所有三个机器指令。
mov eax,fs:[00000018]
mov eax,dword ptr [eax+20h]
ret
顺便说一下,另外两个有趣的简单Windows API函数是GetLastError
和SetLastError
;实际上,两者都非常相似。
答案 2 :(得分:0)
您可以使用getpid()
库中定义的_getpid()
或<process.h>
。
https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/getpid?view=vs-2019