gpt4 book ai didi

c++ - PDH 无法通过 PdhAddCounter() 访问总 CPU 时间

转载 作者:行者123 更新时间:2023-11-28 07:59:05 48 4
gpt4 key购买 nike

我目前正在尝试为我的 DirectX 程序制作某种 CPU 使用概览,但我似乎无法通过 PdhAddCounter() 获取此信息。我的代码如下所示:

status = PdhOpenQuery(NULL, 0, &m_queryHandle);
if(status != ERROR_SUCCESS)
{
m_canReadCpu = false;
}

status = PdhAddCounter(m_queryHandle, TEXT("\\Processor(_Total)\\% processor time"), 0, &m_counterHandle);
if(status != ERROR_SUCCESS)
{
m_canReadCpu = false;
}

在 PdhAddCounter 调用后我的状态是 = -1073738824,这导致程序失败。

我使用的是 Windows 7 64 位系统,我是否必须在 64 位环境中做一些不同的事情?感谢您的帮助。

最佳答案

记住:PdhAddCounter 是区域设置敏感的。

响应-1073738824表示PDH_CSTATUS_NO_OBJECT=0xC0000BB8。 api 没有找到该字符串。您使用的是非英语操作系统吗?

如果您需要做一个与 Windows XP 兼容的应用程序,您需要使用这样的解决方法:http://en.verysource.com/code/3604946_1/platforminfo.cpp.html .

对于 Vista 和 Windows 7、8...,您可以改用 PdhAddEnglishCounter。

关于c++ - PDH 无法通过 PdhAddCounter() 访问总 CPU 时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11969392/

48 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com