using System;
using System.Collections.Generic; using System.Linq; using System.Text; using System.Management; using System.Diagnostics; using System.Management.Instrumentation; namespace getAllProcessID { class Program { static void Main(string[] args) { var myID = Process.GetCurrentProcess(); var query = string.Format("SELECT ParentProcessId FROM Win32_Process");// WHERE ProcessId = {0}", myID); var search = new ManagementObjectSearcher("root\\CIMV2", query); var results = search.Get().GetEnumerator(); if (!results.MoveNext()) throw new Exception("Huh?"); var queryObj = results.Current; uint parentId = (uint)queryObj["ParentProcessId"]; // this code gives all process run in task manger var parent = Process.GetProcesses(); //.GetProcessById((int)parentId); foreach (Process proc in parent) { Console.WriteLine("I was started by {0}", proc); } Console.ReadLine(); } |