Member 14068019 Ответов: 2

Ориентация измененная с помощью changedisplaysettingsex не учитывается после перезагрузки


В собственном небольшом программном средстве мы меняем ориентацию в соответствии с вводом данных пользователем. Он работает хорошо, за одним исключением. После перезагрузки всегда восстанавливается альбомная ориентация.

Вот основные строки кода, которые мы используем:

mode.dmDisplayOrientation = портрет ? DMDO_270 : DMDO_DEFAULT;
ChangeDisplaySettingsEx(устройство.Имя_устройства &амп;режим, нуль, CDS_UPDATEREGISTRY | CDS_RESET | CDS_GLOBAL, нуль);


Как я могу выяснить, в чем причина описанной проблемы?

Что я уже пробовал:

Я читал документацию MSDN. Изменен основной монитор (2 монитора подключены к ПК). ....

Richard MacCutchan

Вы не проверяете возвращаемое значение, поэтому невозможно угадать, было ли оно успешно изменено в реестре.

2 Ответов

Рейтинг:
2

Dave Kreskowiak

Никогда не выполняйте вычисления и задания в одной строке.

Разбейте вычисление на его собственную переменную, а затем используйте значение в этой переменной, чтобы сделать назначение. Это значительно облегчает отладку кода вместо того, чтобы гадать о результате вычисления.


Рейтинг:
1

#realJSOP

ИСПОЛЬЗУЙТЕ.THE.DEBUGGER.

Если вы не можете использовать инструменты, которые у вас есть под рукой, вы не добьетесь успеха как программист.