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}]"))}";
}
}
}
}