Есть ли способ установить режим совместимости в Win7 программно в C # - PullRequest
0 голосов
/ 01 марта 2012

Я работаю над программой. При тестировании на Win7 (32-битная, не знаю, будет ли она такой же в 64-битной), я обнаружил проблему.

Теперь моя проблема в том, что некоторые функции не работают (например, если щелкнуть правой кнопкой мыши, параметры не отображаются или программа реагирует слишком долго). Однако, если я установил режим совместимости, он работает нормально. В основном я вижу эту проблему в Microstation, но она появляется и в других местах.

Мой вопрос заключается в следующем, есть ли способ установить эти настройки (например, флажки) программно из C #?

Это может быть необходимо в случаях, когда мы не выполняем установку программы, чтобы убедиться, что она работает на каждом компьютере, на котором она установлена. Предположим, что во время установки программа имеет права администратора. ( нужно ли это делать ?? )

это не имеет ничего общего с Internet Explorer. Я хотел добавить картинку, но мне пока не хватает повторения

1 Ответ

3 голосов
/ 01 марта 2012

Нет способа изменить это во время работы приложения, у вас есть два варианта решения этой проблемы:

  • Измените установщик, чтобы создавать ярлыки, для которых установлен флаг режима совместимости с тем, что вам нужно
  • Вы можете вручную манипулировать реестром, чтобы принудительно запустить исполняемый файл в режиме совместимости, вашему приложению потребуются права администратора, поэтому + необходимо будет перезапустить впоследствии Здесь объясняется, как это сделать вручную, вам просто нужно сделать это программно:
    http://kb.winzip.com/kb/entry/139/

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

...