您需要使用 WinAPI 函数确定盒子上写的 CPU 时钟速度(即,从注册表中提取的选项不适合)。
任何搜索尝试都会引发关于如何在给定时间找到实际频率的讨论。有人建议我使用“CallNtPowerInformation”或“QueryPerformanceFrequency”,但有很多问题。我将从“QueryPerformanceFrequency”开始:出于我的所有愿望,我仍然不明白它返回什么。我解释一下:我的 CPU 频率约为 1.1 GHz,函数返回值“100,000,000”。这个值是如何测量的?以赫兹为单位?然后是 100 MHz,这是不正确的。
“CallNtPowerInformation”。这里的问题更复杂,坦率地说,我不知道如何解决它。“powerbase.h”头文件中的这个函数被指令“#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)”注释掉了,但是函数调用仍然进行(组装和执行成功)。问题是它失败并出现错误,返回一个负数作为错误代码,这很奇怪。

