Beispiel #1
0
        /// <summary>
        /// Display info and data regarding the given process
        /// </summary>
        /// <param name="processId">Process to display info of</param>
        /// <returns></returns>
        private bool PrintProcessInfo(int processId)
        {
            ProcessInfoCollection processCollection = ProcessInfoCollection.SingleProcessCollection;
            ProcessInfo           procInfo          = null;

            try
            {
                procInfo = processCollection[processId];
                processData.ChangeDataInstance(procInfo);

                string dataString = String.Format(CultureInfo.CurrentCulture.NumberFormat, "{0} {1} [PID: {2}]{3}", mainStrings.GetString("processInfoFor"), procInfo.ShortName, processId, Environment.NewLine);
                foreach (string key in processData.ProcessData.Keys)
                {
                    dataString += String.Format(CultureInfo.CurrentCulture.NumberFormat, "{0,-25}{1}{2}", key + ":", processData.ProcessData[key](), Environment.NewLine);
                }

                if (!String.IsNullOrEmpty(saveTo))
                {
                    PrintToFile(dataString, false);
                }
                else
                {
                    Console.WriteLine(dataString);
                }
            }
            catch (COMException ex)
            {
                Debug.WriteLine(ex.ToString());
            }
            catch (ArgumentNullException)
            {
                errorMessage = mainStrings.GetString("Error") + ": " + mainStrings.GetString("processIdError") + " \"" + processId + "\"";
                return(false);
            }

            return(true);
        }