4

Cubase などのホスト内で実行されるオーディオ プラグインを開発しており、高 DPI サポートの追加を検討しています。私が知っているすべてのホスト アプリケーションは、高 DPI 非対応として宣言されているため、すべてのウィンドウが DWM によって自動的にスケーリングされるため、これは問題です。ホスト自体が DPI 対応でない場合でも、プラグイン ウィンドウの DWM DPI スケーリングをオフにする方法を探しています (したがって、他のすべてのウィンドウで DWM DPI スケーリングを使用します)。これが可能かどうかは誰にもわかりますか?

オーディオ ホストなど、多くのプラグインを使用するアプリケーションの場合、これは非常に現実的な問題です。高 DPI 対応であると宣言するだけでは、既存のすべてのプラグインが壊れてしまうからです。そのため、Windows がこれに対する解決策を提供しない限り、私たちは常に 96 dpi の領域で立ち往生しています。基本的に、ホストとプラグインがそれぞれの認識レベルを宣言できるように、このプロセスごとに設定するよりもきめ細かいソリューションが必要だと思います。

これが現在できない場合、Windows の将来のバージョンに追加できるように Microsoft のエンジニアに連絡する方法はありますか?

4

2 に答える 2

5

Windows 10 アニバーサリー アップデート以降、ウィンドウごとの DPI 認識が可能になりました。新しい API SetThreadDpiAwarenessContext()を使用して、ウィンドウごと、およびスレッドごとの DPI 認識を設定できます。これは次のように行われます。

  • スレッドは、DPI 認識を動的に変更できるようになりました。
  • スレッドによって作成されたウィンドウの DPI 認識は、ウィンドウが作成されたときの呼び出しスレッドの DPI 認識に依存します。
  • ウィンドウのウィンドウ プロシージャが呼び出されると、スレッドは、ウィンドウの作成時に使用されていた DPI 認識コンテキストに自動的に切り替えられます。

次の参考文献を読んでください。

于 2016-12-23T16:46:37.327 に答える