1. 程式人生 > >解決windows遠端連線VM,軟體模糊的問題

解決windows遠端連線VM,軟體模糊的問題

好久沒寫部落格了,這樣不好,還是得把習慣培養起來。

問題與原因

用win10自帶的遠端桌面去連線VM,會遇到有些軟體(例如vs2015)顯示模糊的問題。 這是由於當windows去開啟這個軟體時,會去查詢該軟體是否是高DPI的,而對於那些高DPI的軟體都會產生字型模糊等問題。

解決方法

修改軟體配置引數,使其不使用高DPI即可。

Step1 修改登錄檔,使windows優先使用自定義配置

  1. 使用 Win+R,並輸入regedit開啟登錄檔
  2. 進入KEY_LOCAL_MACHINE > SOFTWARE > Microsoft > Windows > CurrentVersion > SideBySide
  3. 右鍵新增DWORD(32-bit) Value
  4. 將新加入的引數命名改為PreferExternalManifest,並求修改其值為1,型別為Decimal,並儲存推出

Step2 建立自定義的配置檔案

我們以vs2015為例

  1. 下載配置檔案 在這裡下載配置檔案(我會在文章最後附上完整的配置檔案內容,並不需要下載)。
  2. 找到程式可執行檔案的執行位置 如vs2015在C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE目錄中,可執行檔名為devenv.exe
  3. 新增配置檔案 將配置檔案置於上步的目錄中,並將名字修改為 執行檔案.exe
    +.manifest,如vs2015的配置檔名為devenv.exe.manifest

Step3 重新開啟軟體

重新開啟軟體即可看到程式已經不再模糊了。

配置檔案 manifest

懶的同學可去step2中的連結下載配置檔案,但需要1個積分(並不是我想,是CSDN最少要一個)

<?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>

參考資料