Hto3.SimpleSpecsDetector
1.2.9
.NET 5.0
This package targets .NET 5.0. The package is compatible with this framework or higher.
.NET Standard 2.0
This package targets .NET Standard 2.0. The package is compatible with this framework or higher.
.NET Framework 4.6.1
This package targets .NET Framework 4.6.1. The package is compatible with this framework or higher.
dotnet add package Hto3.SimpleSpecsDetector --version 1.2.9
NuGet\Install-Package Hto3.SimpleSpecsDetector -Version 1.2.9
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Hto3.SimpleSpecsDetector" Version="1.2.9" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Hto3.SimpleSpecsDetector --version 1.2.9
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Hto3.SimpleSpecsDetector, 1.2.9"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Hto3.SimpleSpecsDetector as a Cake Addin #addin nuget:?package=Hto3.SimpleSpecsDetector&version=1.2.9 // Install Hto3.SimpleSpecsDetector as a Cake Tool #tool nuget:?package=Hto3.SimpleSpecsDetector&version=1.2.9
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Hto3.SimpleSpecsDetector
Fully managed .NET library to detect the specs of the hardware, available in .NET Framework or .NET Core flavors (.NET Standard). This library intends to keep direct and simple, don't expect to retrieve all geek info like HWiNFO, AIDA64 or Speccy provides.
This library is ideal for obtaining simple information from Desktops and Servers, perhaps for a troubleshooting or inventory, or simply to use in the log of your application.
Example
Supported Windows Versions
- Windows 11
- Windows Server 2022
- Windows 10
- Windows Server 2019
- Windows Server 2016
- Windows 8.1
- Windows Server 2012 R2
- Windows 8
- Windows Server 2012
- Windows 7
- Windows Server 2008 R2
- Windows Server 2008
Discontinuated support. Use up to version 1.2.3
Windows VistaWindows Server 2003 R2Windows Server 2003Windows XP 64-Bit EditionWindows XP
Supported Linux Versions
- Same as .NET supported list (link).
Supported .NET Versions
- .NET Framework 4.6.1 to 4.8
- .NET Core 2.x and 3.x (through .NET Standard)
- .NET 5.0
- .NET 6.0
Features
Os
GetOsVersionNumber
Windows: Get the correct Windows version following the Microsoft table (https://docs.microsoft.com/en-us/windows/win32/sysinfo/operating-system-version). Linux: Get the VERSION_ID value.GetOsVersionName
Get the OS version name.GetInstalledFrameworkVersion
Get the higher .NET Framework version installed on machine. This method can detect starting from 4.0 version.GetSystemUpTime
Get system up time.GetKernelVersion
Get the OS kernel version.
Processor
GetProcessorName
Get the processor name.GetProcessorUsage
Mensure and get the current processor percent usage, where 0 is no load and 1 is full load. Default mensure time is 1 second.
Video
GetDisplayAdapterName
Get the display adapter name.GetVideoMemory
Get amount of memory of the display adapter. Result in bytes.GetCurrentVideoResolution
Get the resolution in pixels of the current display in use (focused).
Memory
GetFreeMemory
Number of bytes of physical memory currently unused and available.GetInstalledMemory
Get the amount of installed physical memory in bytes.GetVisibleMemory
The total amount of physical memory (in Bytes) available to the OperatingSystem. This value does not necessarily indicate the true amount of physical memory, but what is reported to the OperatingSystem as available to it.
Motherboard
GetVendorName
Get the vendor name.GetModel
Get the motherboard model.GetBIOSVersion
Get the BIOS version.
Storage
GetDisks
Get all connected hard disks. The information available is the hard disk name and size.
Sound
GetSoundCards
Get all connected sound cards.
Printer
GetPrinters
Get all installed printers.
Network
GetNetworkCards
Get all connected network cards.GetNetworkThroughput
Mensure 1 second and get the current network traffic throughput. Result in Bytes.
Sample App
class Program
{
static void Main(string[] args)
{
//Os
Console.WriteLine("Os.GetOsVersionNumber: {0}", HardwareDetector.OsDetector.GetOsVersionNumber());
Console.WriteLine("Os.GetOsVersionName: {0}", HardwareDetector.OsDetector.GetOsVersionName());
Console.WriteLine("Os.GetInstalledFrameworkVersion: {0}", HardwareDetector.OsDetector.GetInstalledFrameworkVersion());
Console.WriteLine("Os.GetSystemUpTime: {0}", HardwareDetector.OsDetector.GetSystemUpTime());
Console.WriteLine("Os.GetKernelVersion: {0}", HardwareDetector.OsDetector.GetKernelVersion());
//Video
Console.WriteLine("Video.GetDisplayAdapterName: {0}", HardwareDetector.VideoDetector.GetDisplayAdapterName());
Console.WriteLine("Video.GetVideoMemory: {0} bytes", HardwareDetector.VideoDetector.GetVideoMemory());
Console.WriteLine("Video.GetCurrentVideoResolution: {0}", HardwareDetector.VideoDetector.GetCurrentVideoResolution());
//Processor
Console.WriteLine("Processor.GetProcessorName: {0}", HardwareDetector.ProcessorDetector.GetProcessorName());
Console.WriteLine("Processor.GetProcessorUsage: {0}%", HardwareDetector.ProcessorDetector.GetProcessorUsage().Result * 100);
//Memory
Console.WriteLine("Memory.GetFreeMemory: {0} bytes", HardwareDetector.MemoryDetector.GetFreeMemory());
Console.WriteLine("Memory.GetVisibleMemory: {0} bytes", HardwareDetector.MemoryDetector.GetVisibleMemory());
Console.WriteLine("Memory.GetInstalledMemory: {0} bytes", HardwareDetector.MemoryDetector.GetInstalledMemory());
//Motherboard
Console.WriteLine("Motherboard.GetModel: {0}", HardwareDetector.MotherboardDetector.GetModel());
Console.WriteLine("Motherboard.GetVendorName: {0}", HardwareDetector.MotherboardDetector.GetVendorName());
Console.WriteLine("Motherboard.GetBIOSVersion: {0}", HardwareDetector.MotherboardDetector.GetBIOSVersion());
//Storage
foreach (var disk in HardwareDetector.StorageDetector.GetDisks())
Console.WriteLine("Storage.GetDisks: {0}", disk);
//Printers
foreach (var printer in HardwareDetector.PrinterDetector.GetPrinters())
Console.WriteLine("Printer.GetPrinters: {0}", printer);
//Sound cards
foreach (var soundCard in HardwareDetector.SoundDetector.GetSoundCards())
Console.WriteLine("Sound.GetSoundCards: {0}", soundCard);
//Network cards
foreach (var networkAdapter in HardwareDetector.NetworkDetector.GetNetworkCards())
Console.WriteLine("Network.GetNetworkCards: {0}", networkAdapter);
Console.WriteLine("Network.GetNetworkThroughput: {0}", HardwareDetector.NetworkDetector.GetNetworkThroughput(NetworkInterface.GetAllNetworkInterfaces().Last().Description).Result);
}
}
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 is compatible. net5.0-windows was computed. net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. 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. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 is compatible. |
.NET Framework | net461 is compatible. net462 was computed. net463 was computed. net47 is compatible. net471 was computed. net472 was computed. net48 is compatible. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
.NETFramework 4.6.1
- No dependencies.
-
.NETFramework 4.7
- No dependencies.
-
.NETFramework 4.8
- No dependencies.
-
.NETStandard 2.0
- Microsoft.Win32.Registry (>= 5.0.0)
- System.Management (>= 6.0.0)
-
.NETStandard 2.1
- Microsoft.Win32.Registry (>= 5.0.0)
- System.Management (>= 6.0.0)
-
net5.0
- Microsoft.Win32.Registry (>= 5.0.0)
- System.Management (>= 6.0.0)
-
net6.0
- Microsoft.Win32.Registry (>= 5.0.0)
- System.Management (>= 6.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.2.9 | 573 | 3/27/2022 |
1.2.8 | 477 | 1/29/2022 |
1.2.7 | 314 | 11/29/2021 |
1.2.5 | 309 | 11/13/2021 |
1.2.3 | 433 | 5/9/2021 |
1.2.2 | 315 | 4/11/2021 |
1.2.1 | 313 | 2/16/2021 |
1.2.0 | 359 | 12/13/2020 |
1.0.7 | 393 | 10/29/2020 |
1.0.6 | 483 | 1/21/2020 |
1.0.5 | 505 | 9/28/2019 |
1.0.4 | 501 | 9/8/2019 |
1.0.3 | 511 | 8/7/2019 |
1.0.2 | 512 | 8/6/2019 |
1.0.1 | 503 | 7/24/2019 |
1.0.0 | 513 | 6/30/2019 |