![更改远程桌面连接(mstsc)的默认分辨率](https://linux22.com/image/1238212/%E6%9B%B4%E6%94%B9%E8%BF%9C%E7%A8%8B%E6%A1%8C%E9%9D%A2%E8%BF%9E%E6%8E%A5%EF%BC%88mstsc%EF%BC%89%E7%9A%84%E9%BB%98%E8%AE%A4%E5%88%86%E8%BE%A8%E7%8E%87.png)
有没有办法可以改变 mstsc 使用的默认分辨率?
我不希望它默认采用客户端机器的完整分辨率。
答案1
当然,只需将“显示配置”向后滑动一点,调整到您想要的分辨率即可。然后返回“常规”选项卡并单击“保存”按钮。
嘿,瞧,新的默认设置 :-)
当您这样做时,通常不会有什么坏处,转到“本地资源”选项卡并取消选中“打印机”,然后查看还共享了什么(说真的,谁会通过 RDP 打印?)。
答案2
我个人在 1440x900 的笔记本电脑屏幕上工作,并且喜欢我的远程桌面窗口在最大化时比屏幕小一点,因此我运行mstsc.exe
开关/w:
并/h:
设置其宽度和高度(请参阅mstsc.exe /?
完整列表)。
mstsc.exe /w:1100 /h:900
将其设置为我喜欢的大小,并且似乎会将此设置保留以供将来的会话使用。
答案3
您也可以直接编辑 .rdp 文件。我通常只是在记事本中打开它。您可以像编辑任何常规文本文件一样编辑和保存它。我最常编辑的属性是desktopwidth
、desktopheight
和winposstr
。这还允许您选择任何分辨率,而不仅仅是 GUI 滑块中预定义的分辨率。唯一有点令人困惑的部分是 的参数winposstr
;不要管前两个,后四个分别是窗口的左、上、右、下位置。我有一个分辨率为 1600 X 1200 的三显示器设置,下面是我用来在第三台显示器上显示会话的,没有滚动条。
full address:s:Win7VM
prompt for credentials:i:1
screen mode id:i:1
use multimon:i:0
desktopwidth:i:1590
desktopheight:i:1160
session bpp:i:32
winposstr:s:0,3,3200,0,4790,1160
compression:i:1
keyboardhook:i:2
audiocapturemode:i:0
videoplaybackmode:i:1
connection type:i:7
networkautodetect:i:1
bandwidthautodetect:i:1
displayconnectionbar:i:1
enableworkspacereconnect:i:0
disable wallpaper:i:0
allow font smoothing:i:0
allow desktop composition:i:0
disable full window drag:i:1
disable menu anims:i:1
disable themes:i:0
disable cursor setting:i:0
bitmapcachepersistenable:i:1
audiomode:i:0
redirectprinters:i:0
redirectcomports:i:0
redirectsmartcards:i:1
redirectclipboard:i:1
redirectposdevices:i:0
drivestoredirect:s:
autoreconnection enabled:i:1
authentication level:i:2
negotiate security layer:i:1
remoteapplicationmode:i:0
alternate shell:s:
shell working directory:s:
gatewayhostname:s:
gatewayusagemethod:i:4
gatewaycredentialssource:i:4
gatewayprofileusagemethod:i:0
promptcredentialonce:i:0
gatewaybrokeringtype:i:0
use redirection server name:i:0
rdgiskdcproxy:i:0
kdcproxyname:s:
如果您想了解更多详细信息winposstr
,它在后台使用 Windows API 函数SetWindowPos
。
编辑:
我忘了提这一点了。将其编辑为文本文件的另一个好处是,您可以在 notepad++ 之类的程序中打开多个文档并进行批量替换。假设我有十个 .rdp 文件,我想将winposstr
它们全部更改为相同的值。我可以将它们全部转储到 notepad++ 中并进行批量替换,这比在 GUI 中乱搞并切换选项卡进行保存要容易得多。
答案4
以下是我解决问题的方法。它也适用于不能很好地处理高 DPI 缩放的旧应用程序。
首先必须告诉 Windows 默认查找应用程序的清单文件——注册表项。
- 打开 regedit 并导航到注册表项:
HKEY_LOCAL_MACHINE
→SOFTWARE
→Microsoft
→Windows
→CurrentVersion
→SideBySide
- 右键单击,选择
NEW
→DWORD (32 bit) Value
- 输入
PreferExternalManifest
,然后按Enter。 - 右键单击
PreferExternalManifest
,然后单击Modify
。 - 输入
Value Data
并1
选择Decimal
。 - 单击OK。退出注册表编辑器。
接下来是为给定的应用程序提供清单文件 - 可执行文件名后跟.manifest
。
RDP 应用程序是%windir%\System32\mstsc.exe
如此,清单文件也是如此mstsc.exe.manifest
。
我无法附加清单文件,因此这里是内容:
<?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>