Как я могу заставить любое разрешение экрана / время, которое я хочу?

У меня возникли проблемы с поиском способа заставить любое разрешение экрана / время, которое я хочу в своей программе на C #. Я запускаю Windows 7 с графической картой GeForce 210. Мой текущий метод для достижения этих пользовательских разрешений заключается в использовании GUI драйвера, чтобы вручную добавлять пользовательские разрешения, а затем использовать вызовы Windows для изменения этих разрешений, но мне нужен способ добавления новых пользовательских разрешений в реальном времени. Я просмотрел NVAPI, но я не смог найти способ сделать это. Я также изучил инструмент командной строки для графического драйвера, но я не смог заставить его работать. Последнее средство – переписать значения в реестре, но я бы очень хотел этого избежать. Я готов использовать другой язык программирования или сторонний инструмент, если я могу вызвать его из командной строки через мою программу. Может кто-то указать мне верное направление?

Заранее спасибо.

Обновление (8/16/2011): Я работаю над этой проблемой с NVIDIA, и они предоставляют мне расширенный NVAPI, который позволит мне воссоздать функциональность своего драйвера. Они также подтвердили, что базовая версия NVAPI, которую они предоставляют, не сделает этого.

Вы можете попробовать использовать ChangeDisplaySettings

Я не уверен, что у него будут все опции, предоставляемые панелью nvidia, но, конечно же, основы, такие как разрешение, частота обновления, ориентация экрана и т. Д. Я сам использовал это в прошлом для динамического изменения ориентации экрана (поверните на пейзаж / портрет) одним нажатием кнопки.

Я смог решить эту проблему, используя NDA-версию NVAPI. Это все еще не было тривиально, но все инструменты есть.