Revision control

Copy as Markdown

// Copyright (C) 2024 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
#include "processorinfo.h"
ProcessorInfo::ProcessorInfo()
: m_normalizedUsage(1.0)
{
PdhOpenQuery(NULL, NULL, &m_cpuQuery);
PdhAddEnglishCounter(m_cpuQuery, L"\\Processor(_Total)\\% Processor Time", NULL, &m_cpuTotal);
}
ProcessorInfo::~ProcessorInfo()
{
PdhCloseQuery(m_cpuQuery);
}
double ProcessorInfo::updateTime()
{
PDH_FMT_COUNTERVALUE cVal;
PdhCollectQueryData(m_cpuQuery);
PdhGetFormattedCounterValue(m_cpuTotal, PDH_FMT_DOUBLE, NULL, &cVal);
m_normalizedUsage = (((m_maxSamples - 1) * m_normalizedUsage) + cVal.doubleValue)
/ m_maxSamples;
return m_normalizedUsage;
}