如何强制我想要的任何显示分辨率/时间?

时间:2011-07-26 18:58:27

标签: c# graphics resolution nvidia

我无法找到一种方法来强制我想要在C#程序中显示任何显示分辨率/时间。我正在使用GeForce 210显卡运行Windows 7。我目前实现这些自定义分辨率的方法是使用驱动程序GUI手动添加自定义分辨率,然后使用Windows调用更改为这些分辨率,但我需要一种实时添加新自定义分辨率的方法。我已经研究过NVAPI,但我找不到办法做到这一点。我也查看了图形驱动程序的命令行工具,但我无法让它工作。我最后的办法是重写注册表中的值,但我真的想避免这种情况。我愿意使用不同的编程语言或第三方工具,只要我可以通过我的程序从命令行调用它。有人能指出我正确的方向吗?

提前致谢。

更新(2011年8月16日): 我一直在与NVIDIA一起解决这个问题,他们正在为我提供一个先进的NVAPI,这将允许我重新创建其驱动程序的功能。他们还确认他们提供的NVAPI的基本版本不会这样做。

2 个答案:

答案 0 :(得分:1)

您可以尝试使用ChangeDisplaySettings

我不确定它是否具有nvidia面板提供的所有选项,但肯定会有分辨率,刷新率,屏幕方向等基础知识。我过去自己使用它来动态更改屏幕方向(单击按钮,旋转到横向/纵向)。

答案 1 :(得分:1)

我能够通过使用NDA版本的NVAPI来解决这个问题。它仍然不是微不足道的,但所有的工具都在那里。