18

アプリケーションのマニフェストで dpiAware プロパティを「モニターごと」に設定できるようにする必要があります。プロパティで利用可能な選択肢は、DPI 認識を有効または無効にすることだけです。これらの設定はどちらも機能しません。マニフェストを exe に埋め込まず、マニフェストを手動で編集すると、アプリケーションに必要な動作を得ることができます。マニフェストを自動生成して埋め込みたい。足りないものはありますか?(私は Visual Studio 2013 を使用しています。)

4

3 に答える 3

17

このマニフェスト<dpiAware>True/PM</dpiAware>は機能し、最も重要な部分です。

<?xml version="1.0" encoding="utf-8"?>
<asmv1:assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>
  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
    <security>
      <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
        <requestedExecutionLevel level="asInvoker" uiAccess="false" />
      </requestedPrivileges>
    </security>
  </trustInfo>

  <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
    <application>
      <supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/>
    </application>
  </compatibility>

  <asmv3:application xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
    <asmv3:windowsSettings
         xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
      <dpiAware>True/PM</dpiAware>
    </asmv3:windowsSettings>
  </asmv3:application>

</asmv1:assembly>
于 2014-11-10T22:22:19.947 に答える