Поскольку протокол удаленного рабочего стола версии 8.1 по умолчанию Windows «Удаленное подключение к рабочему столу» может применять текущую системную шкалу к удаленному компьютеру, например. если вы работаете со шкалой 2x, вы увидите рабочий стол удаленной машины с тем же масштабом (если версия сервера RDP равна 8.1). Проблема заключается в том, что масштаб применяется только тогда, когда вы подключаетесь в полноэкранном режиме или параметр размера удаленного рабочего стола соответствует точно локальному размеру рабочего стола. В других случаях удаленный рабочий стол не синхронизируется с локальным масштабом.Автоматическая привязка локальной шкалы к соединениям без полноэкранного рабочего стола (версия RDP 8.1 и выше)
Кажется, что проверка компонентов в удаленном рабочем столе равна локальному размеру рабочего стола, а затем и только затем автоматически применить масштаб.
Я использую компонент MS RDP COM для поддержки соединений RDP в своем приложении. Интерфейс IMsRdpClient9 имеет метод UpdateSessionDisplaySettings, который может изменять разрешение и масштаб удаленного рабочего стола во время сеанса работы. Если я использую его сразу после подключения или входа в систему (например, on onConnected или onLoginComplete), то return hresult - E_UNEXPECTED, но если я подожду в течение двух секунд, я могу успешно выполнить UpdateSessionDisplaySettings. Мне не нравится этот подход, потому что пользователь может видеть удаленный рабочий стол без масштабирования, затем он мигает, а затем применяется новый масштаб.
Я хочу, чтобы локальный масштаб применялся автоматически (если поддерживается сервером) к сеансу удаленного рабочего стола в каждом случае: не только в полноэкранном режиме, но и с выбранным пользователем разрешением. И я знаю, что это можно сделать, потому что команда приложений RoyalTS каким-то образом решила эту проблему.
Возможно, кто-то сталкивается с этой проблемой раньше? Может быть, я могу как-то скомпоновать компонент местного размера рабочего стола? У меня здесь нет идей. Любая помощь приветствуется.