HWHash 1.5.0
dotnet add package HWHash --version 1.5.0
NuGet\Install-Package HWHash -Version 1.5.0
<PackageReference Include="HWHash" Version="1.5.0" />
<PackageVersion Include="HWHash" Version="1.5.0" />
<PackageReference Include="HWHash" />
paket add HWHash --version 1.5.0
#r "nuget: HWHash, 1.5.0"
#:package HWHash@1.5.0
#addin nuget:?package=HWHash&version=1.5.0
#tool nuget:?package=HWHash&version=1.5.0
HWHash
HWHash collects HWiNFO sensor data in realtime via shared memory and exposes it through Dictionaries, Lists and JSON.
Single file, static class, no dependencies. Under 1ms to read 600+ sensors.
Installation
NuGet\Install-Package HWHash
Quick Start
HWHash.SetDelay(500); // optional, default 1000ms
HWHash.Launch();
// ordered like HWiNFO UI
List<HWINFO_HASH> sensors = HWHash.GetOrderedList();
// minified version
List<HWINFO_HASH_MINI> mini = HWHash.GetOrderedListMini();
// curated subset of common sensors
List<HWINFO_HASH> relevant = HWHash.GetRelevantList();
// JSON export (pass true for ordered)
string json = HWHash.GetJsonString(true);
string jsonMini = HWHash.GetJsonStringMini(true);
// stop polling
HWHash.Stop();
await HWHash.StopAsync(); // graceful, awaits last cycle
Structs
HWINFO_HASH
public readonly record struct HWINFO_HASH(
string ReadingType,
uint SensorIndex,
uint SensorID,
ulong UniqueID,
string NameDefault,
string NameCustom,
string Unit,
double ValueNow,
double ValueMin,
double ValueMax,
double ValueAvg,
double ValuePrev,
string ParentNameDefault,
string ParentNameCustom,
uint ParentID,
uint ParentInstance,
ulong ParentUniqueID,
int IndexOrder
);
HWINFO_HASH_MINI
public readonly record struct HWINFO_HASH_MINI(
ulong UniqueID,
string NameCustom,
string Unit,
double ValuePrev,
double ValueNow,
[property: JsonIgnore] int IndexOrder,
[property: JsonIgnore] string ReadingType
);
HWHashStats
public readonly record struct HWHashStats(
double CollectionTime,
long CollectionTimeTicks,
uint TotalCategories,
uint TotalEntries
);
Performance
HWHashStats stats = HWHash.GetHWHashStats();
// stats.CollectionTime -> milliseconds per full read cycle
On modern hardware, collection stays under 1ms even with 600+ sensors. HWiNFO flushes new data every 50ms minimum, so overhead is negligible.
Relevant Sensors
GetRelevantList() returns a curated subset stored in a FrozenSet<string> for O(1) lookups:
Physical Memory Load, Physical Memory Used, P-core 0 VID, P-core 0 Clock, Ring/LLC Clock, Total CPU Usage, CPU Package, Core Max, CPU Package Power, Vcore, +12V, SPD Hub Temperature, GPU Temperature, GPU Memory Junction Temperature, GPU 8-pin #1/#2/#3 Input Voltage, GPU Power (Total), GPU Core Load, GPU Memory Controller Load, Current DL rate, Current UP rate, Total Errors
Requirements
- .NET 9.0+
- HWiNFO running with Shared Memory enabled
- Windows
License
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | 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 was computed. 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. |
-
net9.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.