Hallo!
Ich kämpfe auch gerade mit dem Thema. Da ich auf D2007 festgenagelt bin, kann ich die neuen, monitorspezifischen APIs nicht (ohne Weiteres) nehmen. Aber wenn ich meine beiden Monitore (Laptop und extern) auf 125% gestellt habe, sollten Screen.PixelsPerInch und GetDeviceCaps(
DC, LOGPIXELSX) doch 120 ergeben? Ich kriege aber bei beiden 96. Ich habe in Windows 10 die Einstellung "Größe von Text, Apps und anderen Elementen ändern" genommen - das ist die Variante, die sofort, ohne Neuanmeldung, wirkt.
Ist es nicht so, dass bei Windows 10 Programmen, die nicht per Manifest kundtun, pro Monitor skalieren zu können, einfach 96 dpi vorgegaukelt werden? Und Windows skaliert dann selbst.... gibt diesen "fusseligen" Look.
Upps. Nö. Das wird's dann wohl sein.
Update: Ich hab mal testhalber schnell SetProcessDPIAware aufgerufen und schon klappt's.
Update 2: ...aber nur nach einem Neustart.