DiskInfoToolkit 1.0.3
dotnet add package DiskInfoToolkit --version 1.0.3
NuGet\Install-Package DiskInfoToolkit -Version 1.0.3
<PackageReference Include="DiskInfoToolkit" Version="1.0.3" />
<PackageVersion Include="DiskInfoToolkit" Version="1.0.3" />
<PackageReference Include="DiskInfoToolkit" />
paket add DiskInfoToolkit --version 1.0.3
#r "nuget: DiskInfoToolkit, 1.0.3"
#:package DiskInfoToolkit@1.0.3
#addin nuget:?package=DiskInfoToolkit&version=1.0.3
#tool nuget:?package=DiskInfoToolkit&version=1.0.3
DiskInfoToolkit
A toolkit for Storage Device informations. Primarily used for reading S.M.A.R.T. data from storage devices.
Project overview
| Project | .NET Version[s] |
|---|---|
| DiskInfoToolkit <br/> This library reads detailed information from various types of storage devices - including NVMe, SSD, HDD and USB drives. <br/> It provides a high level API to read device data, SMART attributes, Partitions and other hardware details directly from the system. | .NET Framework 4.7.2 & 4.8.1 <br/> .NET 8, 9 and 10 |
| ConsoleOutputTest <br/> Example Application to show how some library functionality can be used. | .NET 8 |
| DiskInfoViewer <br/> Visualization of detected storage devices on your system. <br/> This supports adding / removing storage devices and updates data. <br/> UI is built using Avalonia UI. | .NET 8 |
What platforms are supported ?
For the moment we only support Windows.<br/> We are looking into supporting Linux later on.
Where can I download it ?
You can download the latest release from here.
How can I help improve the project ?
Feel free to give feedback and contribute to our project !<br/> Pull requests are welcome. Please include as much information as possible.
Developer information
Integrate the library in your own application
Sample code
static class Program
{
static void Main(string[] args)
{
//You can enable logging and set level, if you need logging output
Logger.Instance.IsEnabled = true;
Logger.Instance.LogLevel = LogLevel.Trace;
//Reload storage devices
StorageManager.ReloadStorages();
//Go through all devices
foreach (var storage in StorageManager.Storages)
{
//Output Model of storage device
Console.WriteLine($"Detected storage device '{storage.Model}'.");
}
//Register change event
StorageManager.StoragesChanged += DevicesChanged;
var secondsToWait = 10;
//Wait for specified amount of time and listen to device changes
Console.WriteLine($"Waiting {secondsToWait} seconds for device changes.");
Thread.Sleep(TimeSpan.FromSeconds(secondsToWait));
//Unregister change event
StorageManager.StoragesChanged -= DevicesChanged;
//Save log file to current directory, if you enabled logging output
Logger.Instance.SaveToFile("Log.txt", false);
//All done
Console.WriteLine("Press enter to exit...");
Console.ReadLine();
}
static void DevicesChanged(StoragesChangedEventArgs e)
{
//Devices have changed, log event information
Console.WriteLine($"Eventhandler {nameof(StorageManager.StoragesChanged)} - {e.StorageChangeIdentifier} => {e.Storage.Model}.");
//Simple output
switch (e.StorageChangeIdentifier)
{
case StorageChangeIdentifier.Added:
Console.WriteLine($"Added: '{e.Storage.Model}'");
break;
case StorageChangeIdentifier.Removed:
Console.WriteLine($"Removed: '{e.Storage.Model}'");
break;
}
}
}
License
DiskInfoToolkit is free and open source software licensed under MPL 2.0.<br/> You can use it in private and commercial projects.<br/> Keep in mind that you must include a copy of the license in your project.
Some of our core code is based on CrystalDiskInfo.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Framework | net472 is compatible. net48 was computed. net481 is compatible. |
-
.NETFramework 4.7.2
- BlackSharp.Core (>= 1.0.3)
- System.Memory (>= 4.6.3)
-
.NETFramework 4.8.1
- BlackSharp.Core (>= 1.0.3)
- System.Memory (>= 4.6.3)
-
net10.0
- BlackSharp.Core (>= 1.0.3)
-
net8.0
- BlackSharp.Core (>= 1.0.3)
-
net9.0
- BlackSharp.Core (>= 1.0.3)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on DiskInfoToolkit:
| Package | Downloads |
|---|---|
|
LibreHardwareMonitorLib
Monitor the temperature sensors, fan speeds, voltages, load and clock speeds of your computer. |
GitHub repositories
This package is not used by any popular GitHub repositories.