2016-05-04 11 views
0

Beim Aufrufen von GetWindowRect erhalte ich Ergebnisse, die anzeigen, dass das Fenster 1/4 seiner tatsächlichen Größe ist.GetWindowRect gibt 1/4 Fensterbereich zurück

Ich verwende Windows 10 mit einem 4K-Monitor, und einige der UI-Elemente sind skaliert, ich frage mich, ob das beitragen könnte.

Ich habe wirklich keinen Code oder Arbeit zu zeigen, ich bin nur importieren und aufrufen der User32-Funktion. Die Rect-Felder werden in der richtigen Reihenfolge deklariert.

Kann jemand mich wissen lassen, warum die Maße falsch sind? Und vielleicht, wie man sie angemessen skaliert?

+0

2 Stimmen schließen, 1 negativer Punkt, 0 Kommentare. Klassisch. – Michael

Antwort

3

Ihr Prozess muss als DPI-bewusst markiert werden, was Sie im Anwendungsmanifest tun. Ohne dies zu tun, unterliegt Ihre Anwendung der DPI-Virtualisierung. Siehe: Writing DPI-Aware Desktop and Win32 Applications

+0

Mmm. Dachte, das könnte der Fall sein. Ich besitze den Prozess nicht. Wie kann ich wissen, wie es skaliert wird? – Michael

+0

Die Tatsache, dass Ihre rekt Koordinaten nicht das sind, was Sie erwarten, sagen Ihnen das. –

+0

Alles, was ich weiß ist, dass sie falsch sind ... Ich versuche sie angemessen anzupassen. Weißt du, wie man den Skalierungsfaktor erkennt? – Michael