31

我的应用程序的一部分是在 windows 下的 C++ 中。我需要当前进程的进程 ID。有什么想法吗?

4

3 回答 3

46

GetCurrentProcessId函数将执行此操作。

于 2008-11-18T09:35:58.503 回答
7

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

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

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

顺便说一句,另外两个非常简单的 Windows API 函数是GetLastErrorSetLastError; 确实,两者都与这个非常相似。

于 2015-01-28T03:05:48.980 回答
1

您可以使用在库中定义的getpid()or 。_getpid()<process.h>

https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/getpid?view=vs-2019

于 2020-09-06T18:04:57.133 回答