web-dev-qa-db-ja.com

ms c ++現在のプロセスのpidを取得

私のアプリケーションの一部はWindowsのC++にあります。現在のプロセスのプロセスIDが必要です。何かご意見は?

27

GetCurrentProcessId 関数がこれを行います。

41
Greg Hewgill

一見単純なタスクを実行するために何ヤードものコードを見ることに慣れてきて、GetCurrentProcessIdの直接性に驚きました。今日、私はそれがデバッガーで実行されるのを見ました。私は、プロセスIDを埋め込まれたGUIDと組み合わせて作成するDllMainルーチンの新しいコードに従っているmutexのローカルで一意の名前。

以下はルーチン全体、3つすべての機械語命令です。

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

ところで、他の2つの幸運にもシンプルなWindows API関数はGetLastErrorSetLastErrorです。実際、どちらもこれと非常に似ています。

6
David A. Gray