FluentSysInfo.Core
1.0.8860
dotnet add package FluentSysInfo.Core --version 1.0.8860
NuGet\Install-Package FluentSysInfo.Core -Version 1.0.8860
<PackageReference Include="FluentSysInfo.Core" Version="1.0.8860" />
paket add FluentSysInfo.Core --version 1.0.8860
#r "nuget: FluentSysInfo.Core, 1.0.8860"
// Install FluentSysInfo.Core as a Cake Addin #addin nuget:?package=FluentSysInfo.Core&version=1.0.8860 // Install FluentSysInfo.Core as a Cake Tool #tool nuget:?package=FluentSysInfo.Core&version=1.0.8860
FluentSysInfo.Core Provides the accessibility to the various System Informations with Fast Resonse feature and it's fully thread safe.
Whats is special about FluentSysInfo ? 👍
FluentSysInfo uses an internal caching machanism called 'Fast Response'. Getting the System Information could be a huge I/O load and makes your app slow ! Specially when your are requesting a Disk , Partition , CPU information , Running Processes , Installed Services or etc ... The Fast Response feature is designed to deliver the information almost immediately after requesting a system infomation 👌
Features 💯
✔ Date Time Info
✔ OS Info
✔ Main Board Info
✔ BIOS Info
✔ CPU Info
✔ Physical Memory Info
✔ Disk , Partition And Drive Info
✔ Network Interfaces Info
✔ Graphic Card Info
✔ Running Processes Info
✔ Windows Services Info
How To Use ❔
It's really simple to use the FluentSysInfo.Core :
- Example for the Physical Memory (RAM) Info ⬇
Console.WriteLine(new FluentSysInfoCore().GetSystemInfo(FluentSysInfoTypes.PhysicalMemory));
And the result from the FluentSysInfo.Core would be something like this :
{
"Caption": "Physical Memory",
"Description": "Physical Memory",
"Name": "Physical Memory",
"Manufacturer": "04CB",
"SerialNumber": "2B960400",
"Tag": "Physical Memory 0",
"FormFactor": "8",
"BankLabel": "BANK 0",
"Capacity": "8589934592",
"DataWidth": "64",
"InterleavePosition": "0",
"MemoryType": "0",
"Speed": "2133",
"TotalWidth": "64",
"Attributes": "2",
"ConfiguredClockSpeed": "2133",
"ConfiguredVoltage": "1200",
"DeviceLocator": "ChannelA-DIMM0",
"InterleaveDataDepth": "0",
"MaxVoltage": "1200",
"MinVoltage": "1200",
"SMBIOSMemoryType": "26",
"TypeDetail": "128"
}
{
"Caption": "Physical Memory",
"Description": "Physical Memory",
"Name": "Physical Memory",
"Manufacturer": "04CB",
"SerialNumber": "55960400",
"Tag": "Physical Memory 1",
"FormFactor": "8",
"BankLabel": "BANK 1",
"Capacity": "8589934592",
"DataWidth": "64",
"InterleavePosition": "0",
"MemoryType": "0",
"Speed": "2133",
"TotalWidth": "64",
"Attributes": "2",
"ConfiguredClockSpeed": "2133",
"ConfiguredVoltage": "1200",
"DeviceLocator": "ChannelA-DIMM1",
"InterleaveDataDepth": "0",
"MaxVoltage": "1200",
"MinVoltage": "1200",
"SMBIOSMemoryType": "26",
"TypeDetail": "128"
}
- Example for the OS Info ⬇
Console.WriteLine(new FluentSysInfoCore().GetSystemInfo(FluentSysInfoTypes.OperatingSystem));
And the result from the FluentSysInfo.Core would be something like this :
{
"Status": "OK",
"Name": "Microsoft Windows 10 Enterprise|C:\\Windows|\\Device\\Harddisk1\\Partition3",
"FreePhysicalMemory": "9428600",
"FreeSpaceInPagingFiles": "2479588",
"FreeVirtualMemory": "9278148",
"Caption": "Microsoft Windows 10 Enterprise",
"Description": "Removed! 😎",
"InstallDate": "9/30/2022 1:36:54 PM",
"CSName": "Removed! 😉",
"CurrentTimeZone": "210",
"Distributed": "False",
"LastBootUpTime": "3/21/2024 6:56:09 AM",
"LocalDateTime": "3/21/2024 11:39:42 PM",
"MaxNumberOfProcesses": "4294967295",
"MaxProcessMemorySize": "137438953344",
"NumberOfLicensedUsers": "0",
"NumberOfProcesses": "222",
"NumberOfUsers": "2",
"OSType": "18",
"SizeStoredInPagingFiles": "2490368",
"TotalVirtualMemorySize": "19224724",
"TotalVisibleMemorySize": "16734356",
"Version": "10.0.19045",
"BootDevice": "\\Device\\HarddiskVolume10",
"BuildNumber": "19045",
"BuildType": "Multiprocessor Free",
"CodeSet": "1252",
"CountryCode": "1",
"DataExecutionPrevention_32BitApplications": "True",
"DataExecutionPrevention_Available": "True",
"DataExecutionPrevention_Drivers": "True",
"DataExecutionPrevention_SupportPolicy": "2",
"Debug": "False",
"EncryptionLevel": "256",
"ForegroundApplicationBoost": "2",
"Locale": "0409",
"Manufacturer": "Microsoft Corporation",
"MUILanguages": "{en-US}",
"OperatingSystemSKU": "4",
"OSArchitecture": "64-bit",
"OSLanguage": "1033",
"OSProductSuite": "256",
"PortableOperatingSystem": "False",
"Primary": "True",
"ProductType": "1",
"RegisteredUser": "Shayan",
"SerialNumber": "00329-00000-00003-AA310",
"ServicePackMajorVersion": "0",
"ServicePackMinorVersion": "0",
"SuiteMask": "272",
"SystemDevice": "\\Device\\HarddiskVolume12",
"SystemDirectory": "C:\\Windows\\system32",
"SystemDrive": "C:",
"WindowsDirectory": "C:\\Windows"
}
- How to enable the Fast Response feature ? ⬇
FluentSysInfoCore fluentSysInfoCore = new FluentSysInfoCore();
fluentSysInfoCore.AddFastResponseAgent(FluentSysInfoTypes.InstalledServices, TimeSpan.FromSeconds(5));
fluentSysInfoCore.AddFastResponseAgent(FluentSysInfoTypes.RunningProcesses, TimeSpan.FromSeconds(5));
fluentSysInfoCore.StartAllFastResponseAgents();
- How to use a custom WMI class name ? ⬇
Console.WriteLine(new FluentSysInfoCore().GetSystemInfo("CIM_Display"));
And the result from the FluentSysInfo.Core would be something like this :
{
"DeviceID": "DesktopMonitor1",
"Name": "HP EliteDisplay E221 LED Backlit Monitor",
"PixelsPerXLogicalInch": "96",
"PixelsPerYLogicalInch": "96",
"Status": "OK",
"Caption": "HP EliteDisplay E221 LED Backlit Monitor",
"Description": "HP EliteDisplay E221 LED Backlit Monitor",
"Availability": "8",
"ConfigManagerErrorCode": "0",
"ConfigManagerUserConfig": "False",
"PNPDeviceID": "DISPLAY\\HWP3061\\5&132B4D04&0&UID4352",
"SystemName": "Removed! 🤘",
"MonitorManufacturer": "HP",
"MonitorType": "HP EliteDisplay E221 LED Backlit Monitor"
}
© License
FluentSysInfo.Core is an open source software, licensed under the terms of MIT license. See LICENSE for more details.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0-windows7.0 is compatible. net7.0-windows was computed. net7.0-windows7.0 is compatible. net8.0-windows was computed. net8.0-windows7.0 is compatible. |
.NET Framework | net48 is compatible. net481 was computed. |
-
.NETFramework 4.8
- No dependencies.
-
net6.0-windows7.0
- No dependencies.
-
net7.0-windows7.0
- No dependencies.
-
net8.0-windows7.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
✔ Accept the User-Defined WMI Class.
✔ Accept the User-Defined Fast Response WMI Class.
✔ Able to get all available WMI Class on running OS.