using Microsoft.VisualBasic.Devices; using System; using System.Collections.Generic; using System.Linq; using System.Reflection; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace GFATask { public class InfoClass { /// /// Gibt den Titel des Programm-Assembly aus den Projekteigenschaften aus /// public static string ProgramName { get => ((AssemblyTitleAttribute)Attribute.GetCustomAttribute(Assembly.GetExecutingAssembly(), typeof(AssemblyTitleAttribute), false))?.Title; } /// /// Gibt den Codenamen des Programm-Assembly aus den Projekteigenschaften aus /// public static string ProgramCodeName { get => Application.ProductName; } /// /// Gibt den Codenamen des Programm-Assembly aus den Projekteigenschaften aus /// public static string Copyright { get => $"{((AssemblyCopyrightAttribute)Assembly.GetExecutingAssembly().GetCustomAttribute(typeof(AssemblyCopyrightAttribute))).Copyright} {DateTime.Now.Year}"; } /// /// Gibt eine benutzerdefinierte Version anhand der AssemblyInfo.cs aus /// public static string ProgramVersion { get { Version version = Assembly.GetExecutingAssembly().GetName().Version; return string.Format("{0}.{1}.{2}", version.Major, version.Build.ToString()[0], version.Build.ToString()[1]); } } /// /// Gibt die IP-Adresse des Computers als Zeichenkette aus /// public static string IPAdress { get { string ipadress = System.Net.Dns.GetHostEntry(System.Net.Dns.GetHostName()).AddressList.First(ip => ip.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork).ToString(); return $"{ipadress}"; } } /// /// Gibt Informationen wie den Computernamen, oder den Typen des Computers aus über den genutzten Computer aus /// public static string Computer { get { bool ica = (Environment.GetEnvironmentVariable("SessionName") ?? "").ToUpper().StartsWith("ICA"); return $"{SystemInformation.ComputerName} {(ica ? "[Terminalserver]" : "")}"; } } /// /// Formattierter Programm-Name und -Version als Zeichenkette /// public static string Program { get => $"{ProgramName} {ProgramVersion}"; } /// /// Gibt die aktuell genutzte Windows-Version als Zeichenkette aus /// public static string OperatingSystem { get { //string win_name = new ComputerInfo().OSFullName; //string reg_win_version = Microsoft.Win32.Registry.GetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\", "DisplayVersion", "").ToString(); //string reg_win_installtype = Microsoft.Win32.Registry.GetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\", "InstallationType", "").ToString(); //return $"{win_name} {reg_win_version} [{reg_win_installtype}]"; var os = new System.Management.WMI.OSStructure(); return $"{os.Name} {os.ServicePackDisplayName} [{os.InstallType}]\nVersion {os.Version}"; } } /// /// Gibt die aktuell genutzte Windows-Version als Zeichenkette aus /// public static string Browsers { get { return $"{string.Join("\n", XObjects.WebBrowsers.Select(browser => $"{browser.Name} [{browser.Version}]"))}"; } } } }