Ich bin mit VS2017 und habe eine sehr einfache ‚Launcher‘ für verschiedene RDP Einstellungsdateien mit einem Windows Forms-Anwendung gemacht. Dies ruft Process.Start mit einer direkten Verbindung zu einer .rdp-Datei oder alternativ einfach direkt zu mstsc.exe auf.RDP/MSTSC Ignoriert highdpi Manifest fix, wenn aus den Fenstern gestartete Anwendung bildet
Die Anwendung (und RDP-Sitzungen) angezeigt und funktioniert ordnungsgemäß auf Standard-PCs. Allerdings habe ich ein Problem mit High-DPI-Geräten wie Surface Books/Pros.
Der RDP-Client nicht korrekt ist Skalierung ein recht gut bekanntes Problem, und wir haben dieses Problem mit den Manifest/reg Änderungsverfahren festgelegt. Dies funktioniert bestätigt. Ein Doppelklick auf eine RDP-Konfigurationsdatei funktioniert ebenfalls.
(https://www.blackforce.co.uk/2016/04/18/remote-desktop-rdp-resolution-on-a-surface-book)
Meine eigene Anwendung zeigt auch korrekt im richtigen Maßstab. Wenn ich jedoch RDP mit Process.Start starte, wird der RDP-Client wie immer vor der Manifest-Korrektur schlecht skaliert. Ich habe versucht, den Client allein zu öffnen, und mit einer RDP-Datei und das Ergebnis ist das gleiche. Ich öffne die gleiche RDP-Datei manuell, nicht über meine App, und der Client wird korrekt skaliert.
Kann das jemand replizieren, oder raten, warum die Mstsc Manifest-Datei wird ignoriert, wenn auf diese Weise begonnen? Ich habe auch versucht, mit der Verwendung von ProcessStartInfo UseShellExecute, aber immer noch das gleiche Ergebnis.
Meine Kristallkugel sagt, dass Ihre WinForms-App der Jitter auf so läuft als 32-Bit-Prozess gedreht hat Zwingen. So wird c: \ windows \ syswow64 \ mstsc.exe gestartet, die, die Sie nicht hacken. Dieser PreferExternalManifest-Hack ist übrigens gütig, nichts ist wie der Schaden, den man mit einer globalen Lösung für ein lokalisiertes Problem anrichten kann. Die 32-Bit-Ansicht des Registrierungsschlüssels befindet sich in Wow6432Node. Entfernen Sie das Jitter-Forcen mit Projekt> Eigenschaften> Erstellen. –
Hallo Hans, können Sie Ihren Kommentar als Antwort setzen, so kann ich mich als solche markieren, da es mein Problem gelöst! Danke vielmals. Wie für die PreferExternalManifest-Hack - stimme ich zu, aber ich bin nicht bewusst, eine spezifischere Lösung? Danke noch einmal! Mark –
Wenn ich nur wüsste, wie ich diese Schrecklichkeit loswerden kann. Fragen Sie bei superuser.com. Wenn Sie sich damit auskennen, posten Sie die Antwort einfach selbst. –