Files
fastfetch/src/detection/brightness/brightness_windows.cpp
T
2023-01-09 22:26:56 +08:00

28 lines
837 B
C++

extern "C"
{
#include "brightness.h"
}
#include "util/windows/wmi.hpp"
extern "C"
const char* ffDetectBrightness(FFlist* result)
{
FFWmiQuery query(L"SELECT CurrentBrightness, InstanceName FROM WmiMonitorBrightness WHERE Active = true", nullptr, FFWmiNamespace::WMI);
if(!query)
return "Query WMI service failed";
while(FFWmiRecord record = query.next())
{
FFBrightnessResult* display = (FFBrightnessResult*) ffListAdd(result);
ffStrbufInit(&display->name);
record.getString(L"InstanceName", &display->name);
ffStrbufSubstrAfterFirstC(&display->name, '\\');
ffStrbufSubstrBeforeFirstC(&display->name, '\\');
uint64_t brightness;
record.getUnsigned(L"CurrentBrightness", &brightness);
display->value = (float) brightness;
}
return NULL;
}