MS Windows C# Winform プロジェクトに取り組んでいますが、PPID (親プロセス ID) を取得できません。多くの解決策を見つけましたが、上記の OS と言語で動作するように見えるものはありません。
どうすればPPIDを取得できますか?
System.Management を使用できる場合は、簡単です。
private static int GetParentProcess(int Id)
{
int parentPid = 0;
using (ManagementObject mo = new ManagementObject("win32_process.handle='" + Id.ToString() + "'"))
{
mo.Get();
parentPid = Convert.ToInt32(mo["ParentProcessId"]);
}
return parentPid;
}
それ以外の場合は、このように CreateToolhelp32Snapshot を介して P/Invoke 呼び出しに頼る必要がある場合があります