リモート デスクトップ プロトコル バージョン 8.1 のデフォルトでは、Windows のリモート デスクトップ接続は現在のシステム スケールをリモート マシンに適用できます。少なくとも 8.1 です)。問題は、フルスクリーン モードで接続している場合、またはリモート デスクトップ サイズ オプションがローカル デスクトップ サイズと正確に一致している場合にのみスケールが適用されることです。その他の場合、リモート デスクトップ スケールはローカル スケールと同期していません。
リモート デスクトップ サイズでのコンポーネント チェックは、ローカル デスクトップ サイズと同じであり、その後に自動的にスケーリングが適用されるようです。
アプリケーションで RDP 接続をサポートするために、MS RDP COM コンポーネントを使用しています。IMsRdpClient9 インターフェイスには、作業セッション中にリモート デスクトップの解像度とスケールを変更できるメソッドUpdateSessionDisplaySettingsがあります。接続またはログイン直後 (onConnected または onLoginComplete イベントなど) に使用すると、hresult は E_UNEXPECTED を返しますが、2 秒待機すると UpdateSessionDisplaySettings を正常に呼び出すことができます。ユーザーはスケールなしでリモートデスクトップを見ることができ、点滅してから新しいスケールが適用されるため、このアプローチは好きではありません。
フルスクリーンだけでなく、ユーザーが選択した解像度でも、あらゆる場合にリモートデスクトップセッションにローカルスケールを自動的に適用したい(サーバーでサポートされている場合)。そして、RoyalTS アプリ チームがこの問題を何らかの方法で解決したので、それが可能であることを私は知っています。
多分誰かが前にこの問題に遭遇しましたか?たぶん、ローカルデスクトップのサイズについてコンポーネントに嘘をつくことができますか? 私はここでアイデアがありません。どんな助けでも大歓迎です。