|
|
|
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;
|
|
|
|
}
|
|
|
|
}
|