コード例 #1
0
        /// <summary>
        ///  Getting process lists.
        /// </summary>
        /// <returns>Returned telemetry in JSON format.</returns>
        public string GetProcessListPs()
        {
            List <DataModel.ProcessList> processLists = new List <DataModel.ProcessList>();

            DataModel.ProcessListModel processListModel = new DataModel.ProcessListModel();
            using (PowerShell ps = PowerShell.Create())
            {
                ps.AddScript("ps");
                Collection <PSObject> results = ps.Invoke();
                foreach (PSObject result in results)
                {
                    object baseObj = result.BaseObject;
                    if (baseObj is Process)
                    {
                        Process preprocess = baseObj as Process;
                        try
                        {
                            string processName = preprocess.ProcessName;
                            int    processId   = preprocess.Id;
                            string startTime   = "";
                            try
                            {
                                startTime = preprocess.StartTime.ToString();
                            }
                            catch (Win32Exception)
                            {
                            }
                            processLists.Add(new DataModel.ProcessList(processName, processId, startTime));
                        }
                        catch (ArgumentOutOfRangeException e)
                        {
                            Console.WriteLine(e);
                            return(null);
                        }
                        catch (InvalidOperationException e)
                        {
                            Console.WriteLine(e);
                            return(null);
                        }
                    }
                }
                processListModel.ProcessLists = processLists;
                return(JsonSerializer.Serialize(processListModel));
            }
        }
コード例 #2
0
        /// <summary>
        ///  Getting process lists.
        /// </summary>
        /// <returns>Returned telemetry in JSON format.</returns>
        //  [ObsoleteAttribute("This method has been deprecated. Use GetProcessListPs instead.", true)]
        public string GetProcessList()
        {
            try
            {
                List <DataModel.ProcessList> processLists     = new List <DataModel.ProcessList>();
                DataModel.ProcessListModel   processListModel = new DataModel.ProcessListModel();
                foreach (var preprocess in Process.GetProcesses())
                {
                    try
                    {
                        string processName = preprocess.ProcessName;
                        int    processId   = preprocess.Id;
                        string startTime   = "";
                        try
                        {
                            startTime = preprocess.StartTime.ToString();
                        }
                        catch (Win32Exception)
                        {
                        }
                        processLists.Add(new DataModel.ProcessList(processName, processId, startTime));
                    }
                    catch (ArgumentOutOfRangeException e)
                    {
                        Console.WriteLine(e);
                        return(null);
                    }
                    catch (Win32Exception e)
                    {
                        Console.WriteLine(e);
                        return(null);
                    }
                }

                processListModel.ProcessLists = processLists;
                return(JsonSerializer.Serialize(processListModel));
            }
            catch (Win32Exception e)
            {
                Console.WriteLine(e);
                return(null);
            }
        }