using System.Diagnostics; using System.Text; using System.Windows; using System.Windows.Input; using DerpingDrivers.Util; using MahApps.Metro.Controls; using Markdig; using Markdig.Wpf; namespace DerpingDrivers { /// /// Interaction logic for MainWindow.xaml /// public partial class MainWindow : MetroWindow { public MainWindow() { InitializeComponent(); Loaded += OnLoaded; } /// /// Gets Operating System Architecture display name. /// public string OsArchitecture => OsVersionInfo.OsBits == OsVersionInfo.SoftwareArchitecture.Bit64 ? "64-bit" : "32-bit"; /// /// Gets Operating System display name. /// public string OsVersionName => OsVersionInfo.Name; /// /// Gets Operating System edition name. /// public string OsEditionName => string.IsNullOrEmpty(OsVersionInfo.Edition) ? "None" : OsVersionInfo.Edition; /// /// Gets Operating System build number. /// public string OsVersion => OsVersionInfo.VersionString; /// /// Gets Boot mode (Legacy BIOS, UEFI). /// public string BootMode => UEFIHelper.IsRunningInUEFIMode ? "UEFI" : "Legacy BIOS"; /// /// Gets Secure Boot status. /// public string SecureBootEnabled => UEFIHelper.IsRunningInUEFIMode ? (UEFIHelper.IsSecureBootEnabled ? "Enabled" : "Disabled") : "Not available"; /// /// Gets OS upgrade status. /// public string OsUpgradeStatus => OsUpgradeDetection.IsGrandfathered ? "In-place upgraded" : "Clean installation"; /// /// Gets test-mode status. /// public string TestSigningStatus => CodeIntegrityHelper.IsTestSignEnabled ? "Enabled" : "Disabled"; private string MatchingSummaryContent { get { var t = BcdHelper.IsTestSignEnabled; #region TESTSIGNING mode if (CodeIntegrityHelper.IsTestSignEnabled) return Encoding.UTF8.GetString(Properties.Resources.testsigning); #endregion #region Windows 10, x64 if (OsVersionInfo.IsWindows10 && OsVersionInfo.OsBits == OsVersionInfo.SoftwareArchitecture.Bit64) { if (UEFIHelper.IsRunningInUEFIMode && !UEFIHelper.IsSecureBootEnabled && !OsUpgradeDetection.IsGrandfathered) return Encoding.UTF8.GetString(Properties.Resources.win10_x64_uefi_clean); if (UEFIHelper.IsRunningInUEFIMode && UEFIHelper.IsSecureBootEnabled && !OsUpgradeDetection.IsGrandfathered) return Encoding.UTF8.GetString(Properties.Resources.win10_x64_uefi_secure_clean); if (UEFIHelper.IsRunningInUEFIMode && UEFIHelper.IsSecureBootEnabled && OsUpgradeDetection.IsGrandfathered) return Encoding.UTF8.GetString(Properties.Resources.win10_x64_uefi_secure_upgraded); if (UEFIHelper.IsRunningInUEFIMode && !UEFIHelper.IsSecureBootEnabled && OsUpgradeDetection.IsGrandfathered) return Encoding.UTF8.GetString(Properties.Resources.win10_x64_uefi_upgraded); } #endregion return "*None available*"; } } private void OnLoaded(object sender, RoutedEventArgs e) { SummaryViewer.Pipeline = new MarkdownPipelineBuilder().UseSupportedExtensions().Build(); SummaryViewer.Markdown = MatchingSummaryContent; } private void Web_OnClick(object sender, RoutedEventArgs e) { Process.Start("https://vigem.org"); } private void Discord_OnClick(object sender, RoutedEventArgs e) { Process.Start("https://discord.vigem.org"); } private void Forums_OnClick(object sender, RoutedEventArgs e) { Process.Start("https://forums.vigem.org"); } private void OpenHyperlink(object sender, ExecutedRoutedEventArgs e) { Process.Start(e.Parameter.ToString()); } } }