morning-glory 2022-01-14 09:43 采纳率: 0%
浏览 39

Windows 如何获取显示器的 friendly name

EnumDisplayDevices() 获取到的 DeviceName 是 \\\\.\\DISPLAY1,DeviceString是显卡名称;

GetMonitorInfo() 取到的 MONITORINFOEX 也是 \\\\.\\DISPLAY1;

EnumDisplaySettings() 的 dmDeviceName 是 “CDD”;

DisplayConfigGetDeviceInfo() 和 QueryDisplayConfig() 这两个 API 没有,很奇怪,我的win10版本和user32.dll版本都是比较新的。

我想得到的是像Windows显示设置里的显示器名称,比如我的是“DELL XXXX”,除了以上的还有其他办法吗?

  • 写回答

1条回答 默认 最新

  • heart_6662 2023-01-01 13:45
    关注

    如果你希望获取比较新的显示器信息,你可以考虑使用 Microsoft Windows Management Instrumentation (WMI) 来获取显示器的信息。

    你可以使用 WMI 的 Win32_DesktopMonitor 类来获取显示器的信息,其中的 MonitorManufacturer 属性代表显示器的制造商名称,MonitorType 属性代表显示器的类型,Caption 属性代表显示器的名称。

    如果你想要使用 WMI,你可以使用 WMI 的查询语言(WQL)来查询 Win32_DesktopMonitor 类的信息,例如:

    SELECT * FROM Win32_DesktopMonitor
    
    
    

    你也可以使用 WMI 的 C++ 接口来访问 Win32_DesktopMonitor 类的信息。下面是一个使用 WMI C++ 接口来获取显示器信息的例子:

    #include <iostream>
    #include <comdef.h>
    #include <Wbemidl.h>
    
    #pragma comment(lib, "wbemuuid.lib")
    
    int main()
    {
        HRESULT hres;
    
        // 初始化 COM
        hres = CoInitializeEx(0, COINIT_MULTITHREADED);
        if (FAILED(hres))
        {
            std::cout << "Failed to initialize COM library. Error code = 0x"
                << std::hex << hres << std::endl;
            return 1;
        }
    
        // 设置验证 COM 的安全级别
        hres = CoInitializeSecurity(
            NULL,
            -1,
            NULL,
            NULL,
            RPC_C_AUTHN_LEVEL_DEFAULT,
            RPC_C_IMP_LEVEL_IMPERSONATE,
            NULL,
            EOAC_NONE,
            NULL
            );
    
        if (FAILED(hres))
        {
            std::cout << "Failed to initialize security. Error code = 0x"
                << std::hex << hres << std::endl;
            CoUninitialize();
            return 1;
        }
    
        // 获取本地计算机名
        char szName[MAX_COMPUTERNAME_LENGTH + 1];
        DWORD dwSize = MAX_COMPUTERNAME_LENGTH + 1;
        GetComputerName(szName, &dwSize);
    
        // 初始化本地
    
    
    
    评论

报告相同问题?

问题事件

  • 创建了问题 1月14日

悬赏问题

  • ¥15 音量自动减小啦!日历自动翻页
  • ¥15 微软硬件驱动认证账号申请
  • ¥15 有人知道怎么在R语言里下载Git上的miceco这个包吗
  • ¥15 GPT写作提示指令词
  • ¥20 如何在cst中建立这种螺旋扇叶结构
  • ¥20 根据动态演化博弈支付矩阵完成复制动态方程求解和演化相图分析等
  • ¥20 关于DAC输出1.000V对分辨率和精度的要求
  • ¥15 华为超融合部署环境下RedHat虚拟机分区扩容问题
  • ¥15 哪位能做百度地图导航触点播报?
  • ¥15 请问GPT语言模型怎么训练?