J'utilise VS2017 et j'ai créé un «lanceur» très simple pour divers fichiers de paramètres RDP à l'aide d'une application Windows Forms. Cela appelle simplement Process.Start avec un lien direct vers un fichier .rdp, ou directement vers mstsc.exeRDP/MSTSC Ignore le correctif manifeste highdpi lorsqu'il est lancé à partir de l'application de formulaire Windows
L'application (et les sessions RDP) s'affiche et fonctionne correctement sur les PC standard. Cependant, j'ai rencontré un problème sur des périphériques à haute résolution tels que Surface Books/pros.
Le client RDP n'est pas mis à l'échelle correctement est un problème assez bien connu, et nous avons résolu ce problème à l'aide de la méthode de modification manifeste/reg. Ceci est confirmé travailler. Double-cliquer sur un fichier de configuration .rdp fonctionne correctement aussi.
(https://www.blackforce.co.uk/2016/04/18/remote-desktop-rdp-resolution-on-a-surface-book)
Mon propre application affiche également correctement à la bonne échelle. Toutefois, lorsque je lance RDP à l'aide de Process.Start, le client RDP est mal dimensionné, comme il l'était avant le correctif manifeste. J'ai essayé d'ouvrir le client seul, et avec un fichier .rdp et le résultat est le même. J'ouvre le même fichier .rdp manuellement, pas via mon application, et le client est mis à l'échelle correctement.
Quelqu'un peut-il répliquer ceci, ou conseiller pourquoi le fichier manifeste mstsc est ignoré au démarrage de cette façon? J'ai également essayé l'utilisation de ProcessStartInfo pour définir UseShellExecute mais toujours le même résultat.
Ma boule de cristal indique que votre application Winforms a le forçage de la gigue activé et fonctionne donc comme un processus 32 bits. Donc, va démarrer c: \ windows \ syswow64 \ mstsc.exe, celui que vous n'avez pas piraté. Ce hack PreferExternalManifest est gawdawful btw, rien de tel que les dommages que vous pouvez faire avec une solution globale à un problème localisé. La vue 32 bits de la clé de Registre se trouve dans Wow6432Node. Supprimez le forçage de la gigue avec Project> Properties> Build. –
Salut Hans, Pouvez-vous mettre votre commentaire comme réponse, afin que je puisse le marquer comme tel, puisqu'il a résolu mon problème! Merci beaucoup. En ce qui concerne le hack PreferExternalManifest - je suis d'accord, mais je ne suis pas au courant d'une solution plus spécifique? Merci encore! Mark –
Si seulement je savais comment se débarrasser de cette horreur. Ne demandez à superuser.com. Si vous êtes à l'aise avec cela, postez simplement la réponse vous-même. –