如何通过代码以编程方式将“覆盖高 DPI 缩放”设置为“应用程序”
How to set “Override high DPI scaling” to “Application” programmatically through code
我们在 activex 控件中有一个控件,该控件在 Windows10 上存在图形瑕疵。它在 Windows7 中运行良好。我们能够修复瑕疵的唯一方法是通过更改下图所示的 exe 设置。
有没有办法通过代码更改它(Visual Studio 2017 c#)?在我们的项目中,我们的项目中没有清单文件。
我能够将以下内容保存到 .bat 文件中以设置 DPI 缩放比例。
此命令设置 HIGHDPI 缩放比例:
REG ADD "HKCU\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers" /V "C:\Program Files (x86)\VidSys\VidSys Out-of-Process Viewer Framework\External Process\NvrViewerExternalProcess.exe" /T REG_SZ /D ~HIGHDPIAWARE /F
显然,您需要将命令中的路径替换为您的 EXE 的绝对路径。
要设置其他类型的缩放,请使用 EXE 的 属性 页面设置所需的缩放类型,然后检查 Windows 注册表中上面命令中指定的键。然后通过替换您在注册表中找到的字符串来调整命令。
我们在 activex 控件中有一个控件,该控件在 Windows10 上存在图形瑕疵。它在 Windows7 中运行良好。我们能够修复瑕疵的唯一方法是通过更改下图所示的 exe 设置。
有没有办法通过代码更改它(Visual Studio 2017 c#)?在我们的项目中,我们的项目中没有清单文件。
我能够将以下内容保存到 .bat 文件中以设置 DPI 缩放比例。
此命令设置 HIGHDPI 缩放比例:
REG ADD "HKCU\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers" /V "C:\Program Files (x86)\VidSys\VidSys Out-of-Process Viewer Framework\External Process\NvrViewerExternalProcess.exe" /T REG_SZ /D ~HIGHDPIAWARE /F
显然,您需要将命令中的路径替换为您的 EXE 的绝对路径。
要设置其他类型的缩放,请使用 EXE 的 属性 页面设置所需的缩放类型,然后检查 Windows 注册表中上面命令中指定的键。然后通过替换您在注册表中找到的字符串来调整命令。