首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >启用在NVIDIA GPU上以编程方式显示的未公开的分辨率

启用在NVIDIA GPU上以编程方式显示的未公开的分辨率
EN

Stack Overflow用户
提问于 2016-01-27 07:33:45
回答 1查看 1.2K关注 0票数 1

我正在研究一种解决方案,在这种解决方案中,需要为一组系统上的特定连接显示器设置自定义分辨率。我现在的工作很好,但只有当“启用决议,不公开的显示器”选项已经手动检查通过NVIDIA控制面板(发现在显示->更改分辨率>自定义.>启用显示器未公开的分辨率)。

是否有办法以编程方式启用此选项,最好是通过NVIDIA的核心SDK - NVAPI

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-02-08 12:52:24

设置自定义分辨率可以通过Windows公开的ChangeDisplaySettingsEx函数启用,方法是将CDS_ENABLE_UNSAFE_MODES作为第四个参数dwflags传递。(若要禁用,请使用CDS_DISABLE_UNSAFE_MODES。)

代码摘录示例用法:

代码语言:javascript
复制
DWORD deviceIndex = 0;
DISPLAY_DEVICE displayDevice = { 0 };
displayDevice.cb = sizeof(DISPLAY_DEVICE);

while (EnumDisplayDevices(NULL, deviceIndex, &displayDevice, 0)) {
    deviceIndex++;

    DEVMODE deviceMode = { 0 };
    deviceMode.dmSize = sizeof(DEVMODE);

    if (!EnumDisplaySettings(displayDevice.DeviceName, ENUM_CURRENT_SETTINGS, &deviceMode))
        continue;

    auto result = ChangeDisplaySettingsEx(displayDevice.DeviceName, &deviceMode, NULL, CDS_ENABLE_UNSAFE_MODES, NULL);
    if (result != DISP_CHANGE_SUCCESSFUL) {
        // Handle failure here...
    }
}

请注意,这将为所有显示设备启用不安全的图形模式。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35031270

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档