C#通过代码设置兼容性设置

C# set compatibility settings through code

我正在为一个程序制作一个 C# 启动器,我希望它能够更改启动文件的兼容性设置,例如在高 dpi 设置上禁用显示缩放并设置兼容模式 windows版本。

是否可以通过 C# 代码实现?如果不能,在 C++ 中是否可行?

所以这只是部分答案,但似乎可以使用 SetProcessDPIAware 中的 SetProcessDPIAware 函数配置某些兼容性设置,例如 在高 DPI 设置上禁用显示缩放 WINAPI.

文档说这也可以在应用程序 (.exe) 清单中配置,这是推荐的方法

您可以在 XML 或 JSON 文件中进行设置,C# 启动器将更改这些设置。然后这些 JSON 或 XML 设置可以被用任何语言编写的任何程序读取。如果你想要额外的安全,你也可以加密它们。