/// <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); }