![]() |
Win 10 + DPI Skalierung + WinExec()
Folgendes Problem:
Ein Kunde hat Win10, einen Bildschirm mit 3400x1980 und die Skalierung auf 250%. Unsere Legacy App wird mit "Hohe DPI Skalierung überschreiben" betrieben, damit sie sinnvoll groß dargestellt wird. Die App erzeugt uA ein RTF und startet für deren Ansicht Word mit ShellOpenFile + gibt dabei die DPI Einstellungen weiter. Das führt dazu, dass Word winzigklein dargestellt wird + nicht mehr zu benutzen ist. Startet man Word normal, dann wird es auch wie erwartet dargestellt + diese Instanz wird dann für die Ansicht benutzt + alles ist gut. Der Workaround für unseren Kunden besteht also darin, vor dem Ausdruck/Preview Word manuell zu starten. Aber trotzdem: Gibt es eine Möglichkeit, Word (wobei das sicher alle so aufgerufenen Programme betrifft) zu sagen, dass es seine eigene DPI Einstellung nutzen soll? |
AW: Win 10 + DPI Skalierung + WinExec()
Ich musste erst einmal nachschlagen was
Delphi-Quellcode:
ist, noch nie gehört :freak:
WinExec(..)
Zitat:
![]() Probier doch mal ShellExecute(..)/ShellExecuteEx(..) oder schlimmstenfalls CreateProcess(..) |
AW: Win 10 + DPI Skalierung + WinExec()
WinExec sollte richtigerweise ShellOpenFile (so wie es im Text beschrieben ist) heißen.
|
AW: Win 10 + DPI Skalierung + WinExec()
Ich finde in der Winapi-Doku sowie in allen .pas-Dateien von Delphi kein "ShellOpenFile", was soll das sein?
Ok, ich hatte meinen Kaffee noch nicht, vielleicht ist es einfach nur das... |
AW: Win 10 + DPI Skalierung + WinExec()
Zitat:
|
AW: Win 10 + DPI Skalierung + WinExec()
Ja, ok, ich kann auch mehr Kaffee brauchen: ShellOpenFile maskiert
Code:
Delphi2006
ShellExecute(0, nil, PChar(FileName), nil, nil, ShowCmd);
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:01 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz