using System.Runtime.InteropServices; using NLog; namespace StabilityMatrix.Core.Helper; public static class SystemInfo { public const long Gibibyte = 1024 * 1024 * 1024; public const long Mebibyte = 1024 * 1024; [DllImport("UXTheme.dll", SetLastError = true, EntryPoint = "#138")] public static extern bool ShouldUseDarkMode(); public static long? GetDiskFreeSpaceBytes(string path) { try { var drive = new DriveInfo(path); return drive.AvailableFreeSpace; } catch (Exception e) { LogManager.GetCurrentClassLogger().Error(e); } return null; } }