解决 Windows 远程桌面内无法设置分辨率导致文字及图标太小问题
设置注册表
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SideBySide]
"PreferExternalManifest"=dword:00000001
命名为任意名称但后缀名需改为reg
例如123.reg
双击运行
为mstsc添加元数据
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0" processorArchitecture="*"
publicKeyToken="6595b64144ccf1df"
language="*">
</assemblyIdentity>
</dependentAssembly>
</dependency>
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.VC90.CRT"
version="9.0.21022.8"
processorArchitecture="amd64"
publicKeyToken="1fc8b3b9a1e18e3b">
</assemblyIdentity>
</dependentAssembly>
</dependency>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel
level="asInvoker"
uiAccess="false"/>
</requestedPrivileges>
</security>
</trustInfo>
<asmv3:application>
<asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
<ms_windowsSettings:dpiAware xmlns:ms_windowsSettings="http://schemas.microsoft.com/SMI/2005/WindowsSettings">false</ms_windowsSettings:dpiAware>
</asmv3:windowsSettings>
</asmv3:application>
</assembly>
命名为mstsc.exe.manifest
放置到C:\Windows\System32
目录下
元数据说明:
程序依赖Windows的通用控件库(Microsoft.Windows.Common-Controls),适用于任何处理器架构(
*
)和任何语言(*
)和Visual C++ 2008的运行时库(Microsoft.VC90.CRT),特定于64位架构(amd64)。
trustInfo
定义了程序的安全权限需求,requestedExecutionLevel
为asInvoker
,意味着程序将以调用者的权限级别运行,uiAccess
为false
表明程序不需要访问用户接口权限层级的特权
asmv3:application
定义了特定的Windows设置,此处的设置是dpiAware
为false
,意味着应用程序不支持高DPI显示设置。这通常用于确保在高DPI显示器上应用程序的兼容性。安全影响
- 依赖组件安全性:
- Common Controls 和 VC++ 运行库:这些是标准的、广泛使用的库,由微软提供,通常不会带来安全风险。确保系统中这些库的版本是最新的,可以通过 Windows 更新来管理。
- 执行级别(
asInvoker
):
- 这意味着应用程序将使用启动它的用户账户的权限级别运行,而不会请求额外的权限。这是一种安全的权限设置,因为它不会提升程序权限来访问可能会危害系统安全的资源。
- 用户接口访问权限(
uiAccess=false
):
- 程序不会尝试以高权限运行来交互用户界面控制其它应用,这避免了潜在的安全风险,如界面欺骗攻击。