DriveTool.cs 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. using System;
  2. using System.Collections.Generic;
  3. using System.IO;
  4. using System.Linq;
  5. using System.Text;
  6. namespace Azylee.Core.WindowsUtils.InfoUtils
  7. {
  8. public static class DriveTool
  9. {
  10. /// <summary>
  11. /// 获取系统盘总容量(单位:KB)
  12. /// </summary>
  13. /// <returns></returns>
  14. public static long GetSystemDriveTotalSize()
  15. {
  16. try
  17. {
  18. DriveInfo Drive = new DriveInfo("C");//系统盘驱动器
  19. var osinfo = ComputerInfoTool.OsInfo();
  20. if (osinfo != null)
  21. {
  22. string drive = osinfo.Item2.Substring(0, 1);
  23. Drive = new DriveInfo(drive);
  24. }
  25. return Drive.TotalSize / 1024;
  26. }
  27. catch { }
  28. return 0;
  29. }
  30. /// <summary>
  31. /// 获取磁盘总容量(单位:KB)
  32. /// </summary>
  33. /// <returns></returns>
  34. public static long GetDriveTotalSize(string driveName)
  35. {
  36. try
  37. {
  38. string drive = driveName.Substring(0, 1);
  39. DriveInfo Drive = new DriveInfo(drive);
  40. return Drive.TotalSize / 1024;
  41. }
  42. catch { }
  43. return 0;
  44. }
  45. /// <summary>
  46. /// 获取系统盘可用容量(单位:KB)
  47. /// </summary>
  48. /// <returns></returns>
  49. public static long GetSystemDriveAvailableSize()
  50. {
  51. long size = 0;
  52. try
  53. {
  54. var osinfo = ComputerInfoTool.OsInfo();
  55. if (osinfo != null)
  56. {
  57. string drive = osinfo.Item2.Substring(0, 1);
  58. DriveInfo Drive = new DriveInfo(drive);
  59. size = Drive.TotalFreeSpace / 1024;
  60. }
  61. }
  62. catch { }
  63. return size;
  64. }
  65. /// <summary>
  66. /// 获取磁盘可用容量(单位:KB)
  67. /// </summary>
  68. /// <returns></returns>
  69. public static long GetDriveAvailableSize(string driveName)
  70. {
  71. long size = 0;
  72. try
  73. {
  74. string drive = driveName.Substring(0, 1);
  75. DriveInfo Drive = new DriveInfo(drive);
  76. size = Drive.TotalFreeSpace / 1024;
  77. }
  78. catch { }
  79. return size;
  80. }
  81. }
  82. }