search son or parent process

    參考:http://stackoverflow.com/questions/2531837/how-can-i-get-the-pid-of-the-parent-process-of-my-application




     Process searchSonProcess(int processId)

        {
            var myId = processId;
            var query = string.Format("SELECT ProcessId FROM Win32_Process WHERE ParentProcessId = {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 sonId = (uint)queryObj["ProcessId"];
            var sonProcess = Process.GetProcessById((int)sonId);


            return sonProcess;

        }


        Process searchParentProcess(int processId)
        {
            var myId = processId;
            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"];
           

        var parent = Process.GetProcessById((int)parentId);


            return parent;
        }

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章