更改远程桌面连接(mstsc)的默认分辨率

更改远程桌面连接(mstsc)的默认分辨率

有没有办法可以改变 mstsc 使用的默认分辨率?

我不希望它默认采用客户端机器的完整分辨率。

在此处输入图片描述

答案1

当然,只需将“显示配置”向后滑动一点,调整到您想要的分辨率即可。然后返回“常规”选项卡并单击“保存”按钮。

嘿,瞧,新的默认设置 :-)

当您这样做时,通常不会有什么坏处,转到“本地资源”选项卡并取消选中“打印机”,然后查看还共享了什么(说真的,谁会通过 RDP 打印?)。

答案2

我个人在 1440x900 的笔记本电脑屏幕上工作,并且喜欢我的远程桌面窗口在最大化时比屏幕小一点,因此我运行mstsc.exe开关/w:/h:设置其宽度和高度(请参阅mstsc.exe /?完整列表)。

mstsc.exe /w:1100 /h:900将其设置为我喜欢的大小,并且似乎会将此设置保留以供将来的会话使用。

答案3

您也可以直接编辑 .rdp 文件。我通常只是在记事本中打开它。您可以像编辑任何常规文本文件一样编辑和保存它。我最常编辑的属性是desktopwidthdesktopheightwinposstr。这还允许您选择任何分辨率,而不仅仅是 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

https://answers.microsoft.com/en-us/surface/forum/surfpro4-surfdrivers/surface-pro-4-windows-10-remote-desktop-other/d17d4321-0f04-4a64-95b4-1c6dd5de9c91

以下是我解决问题的方法。它也适用于不能很好地处理高 DPI 缩放的旧应用程序。

首先必须告诉 Windows 默认查找应用程序的清单文件——注册表项。

  • 打开 regedit 并导航到注册表项: HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionSideBySide
  • 右键单击,选择NEWDWORD (32 bit) Value
  • 输入PreferExternalManifest,然后按Enter
  • 右键单击PreferExternalManifest,然后单击Modify
  • 输入Value Data1选择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>

相关内容