using System; using System.Reflection; using System.Windows.Forms; namespace SystemSupportApp { partial class AboutBox : Form { public AboutBox() { InitializeComponent(); this.Text = String.Format("About {0}", AssemblyTitle); this.labelProductName.Text = AssemblyProduct; this.labelVersion.Text = String.Format("Version {0}", AssemblyVersion); this.labelCopyright.Text = AssemblyCopyright; this.labelCompanyName.Text = AssemblyCompany; string[] DiscriptionBox = new string[10]; DiscriptionBox[0] = "User Name " + Environment.UserName + Environment.NewLine; DiscriptionBox[1] = "User Directory " + System.Environment.GetEnvironmentVariable("USERPROFILE") + Environment.NewLine; DiscriptionBox[2] = "Computer Name " + Environment.MachineName.ToString() + Environment.NewLine; DiscriptionBox[3] = "Domain Name " + Environment.UserDomainName + Environment.NewLine; DiscriptionBox[4] = "CPU Cores " + Environment.ProcessorCount + Environment.NewLine; DiscriptionBox[5] = Environment.OSVersion.ToString() + Environment.NewLine; DiscriptionBox[6] = "Uptime " + ((Environment.TickCount & Int32.MaxValue) / 3600000) + " Hours" + Environment.NewLine; foreach(var item in DiscriptionBox) { this.textBoxDescription.Text = this.textBoxDescription.Text + item; } } #region Assembly Attribute Accessors public string AssemblyTitle { get { object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyTitleAttribute), false); if (attributes.Length > 0) { AssemblyTitleAttribute titleAttribute = (AssemblyTitleAttribute)attributes[0]; if (titleAttribute.Title != "") { return titleAttribute.Title; } } return System.IO.Path.GetFileNameWithoutExtension(Assembly.GetExecutingAssembly().CodeBase); } } public string AssemblyVersion { get { return Assembly.GetExecutingAssembly().GetName().Version.ToString(); } } public string AssemblyDescription { get { object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyDescriptionAttribute), false); if (attributes.Length == 0) { return ""; } return ((AssemblyDescriptionAttribute)attributes[0]).Description; } } public string AssemblyProduct { get { object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyProductAttribute), false); if (attributes.Length == 0) { return ""; } return ((AssemblyProductAttribute)attributes[0]).Product; } } public string AssemblyCopyright { get { object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyCopyrightAttribute), false); if (attributes.Length == 0) { return ""; } return ((AssemblyCopyrightAttribute)attributes[0]).Copyright; } } public string AssemblyCompany { get { object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyCompanyAttribute), false); if (attributes.Length == 0) { return ""; } return ((AssemblyCompanyAttribute)attributes[0]).Company; } } #endregion } }