You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取笔记本显示屏亮度?WinAPI调用遇I2C总线错误

笔记本显示屏亮度获取问题

我目前使用以下代码尝试获取显示屏亮度:

#include <iostream>
#include <Windows.h>
#include <physicalmonitorenumerationapi.h>
#include <highlevelmonitorconfigurationapi.h>

int main()
{
    HMONITOR monitor = MonitorFromWindow(NULL, MONITOR_DEFAULTTONEAREST);
    DWORD numPhysicalMonitors;
    if (!GetNumberOfPhysicalMonitorsFromHMONITOR(monitor, &numPhysicalMonitors))
    {
        std::cerr << "Failed to get the number of physical monitors.\n";
        return 1;
    }

    PHYSICAL_MONITOR* physicalMonitors = new PHYSICAL_MONITOR[numPhysicalMonitors];
    if (!GetPhysicalMonitorsFromHMONITOR(monitor, numPhysicalMonitors, physicalMonitors))
    {
        std::cerr << "Failed to get physical monitors.\n";
        delete[] physicalMonitors;
        return 1;
    }

    for (DWORD i = 0; i < numPhysicalMonitors; i++)
    {
        DWORD minimumBrightness, currentBrightness, maximumBrightness;
        if (!GetMonitorBrightness(physicalMonitors[i].hPhysicalMonitor, &minimumBrightness, &currentBrightness, &maximumBrightness))
        {
            std::cerr << "Failed to get monitor brightness.\n";
            delete[] physicalMonitors;
            return 1;
        }

        std::cout << "Monitor " << i + 1 << ":\n"
            << "Minimum Brightness: " << minimumBrightness << "\n"
            << "Current Brightness: " << currentBrightness << "\n"
            << "Maximum Brightness: " << maximumBrightness << "\n";
    }

    delete[] physicalMonitors;
    return 0;
}

我对WinAPI完全不了解,这段代码是通过在微软文档网站搜索“Brightness”并跳转至相关函数后拼凑而成的。

设备与系统信息

  • 联想笔记本,搭载AMD芯片、NVIDIA独立显卡
  • 系统版本:Windows 11
  • 显示模式:曾设置为“仅NVIDIA GPU”,切换回Optimus模式问题依旧

遇到的问题

  • 代码无法正常调用亮度获取功能,错误信息翻译为“向I2C总线上的设备传输数据时发生错误”
  • “仅NVIDIA GPU”模式下系统亮度调节栏呈灰色,Optimus模式下显示正常;但两种模式下都能通过Fn+F5/6功能键调节显示屏亮度

编译环境

  • Visual Studio 2022社区版,采用C++最新标准、x64平台Debug配置
  • 已链接user32.lib、gdi32.lib、dxva2.lib库,Windows SDK版本为10.0

希望能获取相关解决信息或WinAPI相关文档内容,感谢帮助。


内容的提问来源于stack exchange,提问作者PhanLong

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 14:22:42