AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Wie kann ich beim Installieren die DPI Eigenschaften setzen?
Thema durchsuchen
Ansicht
Themen-Optionen

Wie kann ich beim Installieren die DPI Eigenschaften setzen?

Ein Thema von TigerLilly · begonnen am 18. Mär 2024 · letzter Beitrag vom 21. Mär 2024
Antwort Antwort
Seite 1 von 3  1 23      
TigerLilly

Registriert seit: 24. Mai 2017
Ort: Wien, Österreich
1.205 Beiträge
 
Delphi 11 Alexandria
 
#1

Wie kann ich beim Installieren die DPI Eigenschaften setzen?

  Alt 18. Mär 2024, 18:00
Ich habe eine Legacy App, die nicht DPI aware ist + auf hochauflösenden Bildschirmen mit >100% Skalierung uU winzig klein angezeigt wird. Über Anklicken des Programm-Icons/Eigenschaften/Kompatibilität/Hohe DPI EInstellungen ändern - auf System(erweitert) setzen kann man das entschärfen.

Meine Frage: Wie kann ich das schon beim Installieren setzen oder kann ich das in der EXE selbst schon festlegen?

Danke jede Antwort!
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#2

AW: Wie kann ich beim Installieren die DPI Eigenschaften setzen?

  Alt 18. Mär 2024, 18:05
Was hast du denn in den Projektoptionen eingestellt?

Optionen -> Anwendung -> Manifest
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
TigerLilly

Registriert seit: 24. Mai 2017
Ort: Wien, Österreich
1.205 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Wie kann ich beim Installieren die DPI Eigenschaften setzen?

  Alt 18. Mär 2024, 18:12
"Legacy" = Delphi 2006, da gibt es das leider noch nicht.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.453 Beiträge
 
Delphi 12 Athens
 
#4

AW: Wie kann ich beim Installieren die DPI Eigenschaften setzen?

  Alt 18. Mär 2024, 18:40
Ich habe eine Legacy App, die nicht DPI aware ist + auf hochauflösenden Bildschirmen mit >100% Skalierung uU winzig klein angezeigt wird.
Das ist aber ungewöhnlich, denn:
Zitat:
By default, the system considers desktop applications DPI unaware
Insofern muss ja irgendetwas dem Windows sagen, dass die App eben nicht als DPI unaware angesehen werden soll. Das würd ich erstmal versuchen herauszufinden.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
TigerLilly

Registriert seit: 24. Mai 2017
Ort: Wien, Österreich
1.205 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Wie kann ich beim Installieren die DPI Eigenschaften setzen?

  Alt 18. Mär 2024, 18:51
Ich habe eine Legacy App, die nicht DPI aware ist + auf hochauflösenden Bildschirmen mit >100% Skalierung uU winzig klein angezeigt wird.
Das ist aber ungewöhnlich, denn:
Zitat:
By default, the system considers desktop applications DPI unaware
Insofern muss ja irgendetwas dem Windows sagen, dass die App eben nicht als DPI unaware angesehen werden soll. Das würd ich erstmal versuchen herauszufinden.
Das verstehe ich nicht. Vielleicht verwende ich die Vokabel falsch. Die App wird auch einem 4k Monitor mit 150% Skalierung winzig klein angezeigt. Das hätte ich als DPI unaware bezeichnet.
Deshalb der Workaround mit den Einstellungen und "Hohe DPI Skalierung überschreiben" auf "System (erweitert)" stellen. Dann wird die App vom System auf 150% skalierte, zwar unscharf, aber lesbar.
Und ja: Genau diesen Schritt würde ich gern automatsieren bzw der App schon mitgeben. Ich hätte da das Manifest als Ausgangspunkt gesehen.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.453 Beiträge
 
Delphi 12 Athens
 
#6

AW: Wie kann ich beim Installieren die DPI Eigenschaften setzen?

  Alt 18. Mär 2024, 18:58
Die App wird auch einem 4k Monitor mit 150% Skalierung winzig klein angezeigt. Das hätte ich als DPI unaware bezeichnet.
Das ist es ja auch. Allerdings sorgt Windows von Haus aus für diese Skalierung, wenn die Applikation sich nicht als DPI aware ausgibt. Das geht entweder durch ein Manifest oder per Programmcode. Wenn beides nicht vorliegt, dann betrachtet Windows die Applikation als DPI unaware und kümmert sich selbst um die Skalierung. In deinem Fall ist das offenbar nicht so und man muss herausfinden warum.

Es gibt unzählige dieser alten Anwendungen und alle laufen auf 4k Monitoren ohne Probleme - wenn auch etwas unscharf. Man muss also diese Einstellung nicht bei jeder dieser Apps machen. Warum dann in deinem Fall?
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
TigerLilly

Registriert seit: 24. Mai 2017
Ort: Wien, Österreich
1.205 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Wie kann ich beim Installieren die DPI Eigenschaften setzen?

  Alt 18. Mär 2024, 19:28
Man muss also diese Einstellung nicht bei jeder dieser Apps machen. Warum dann in deinem Fall?
Gute Frage. Keine Ahnung. Was mache ich: D2006 kompilieren und signieren. Installation mit Inno-Setup.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#8

AW: Wie kann ich beim Installieren die DPI Eigenschaften setzen?

  Alt 18. Mär 2024, 20:18
Grundsätzlich kann man sich das Manifest auch selbst erstellen und als Ressource einbinden.

So alte Delphis kennen viele Dinge noch nicht.
Seit XP gibt es zwar dieses Manifest, aber es hat über die Jahre viele Funktionen dazu bekommen.
* Kontrolle über DPI und Skalierung
* Angabe, zu welcher Windows-Version dein Programm kompatibel ist. Ansonsten entscheidet Windows, ob und welche Virtualisierungen/Umleitungen/Funktionen deinem Programm zur Verfügung stehen.
* uvm.

https://learn.microsoft.com/de-de/wi...at-windows-8-1
https://learn.microsoft.com/de-de/wi...tion-manifests
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.453 Beiträge
 
Delphi 12 Athens
 
#9

AW: Wie kann ich beim Installieren die DPI Eigenschaften setzen?

  Alt 18. Mär 2024, 22:14
Gute Frage. Keine Ahnung. Was mache ich: D2006 kompilieren und signieren. Installation mit Inno-Setup.
Du könntest prüfen, ob deine Anwendung eine Manifest-Ressource enthält und was da drin steht. Das Manifest kann auch als eigenständige Datei mit Endung .manifest neben der exe liegen. Hier gibt's mehr Informationen dazu: https://learn.microsoft.com/en-us/wi...tion-manifests

Führt das nicht zum Erfolg müssen weitersuchen.

Hast du mal versucht, die Anwendung umzubenennen?
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Michael II

Registriert seit: 1. Dez 2012
Ort: CH BE Eriswil
760 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: Wie kann ich beim Installieren die DPI Eigenschaften setzen?

  Alt 19. Mär 2024, 01:33
Wie erwähnt wurde: Wenn deine App alt ist, dann ist sie DPI unaware und dann skaliert Windows die Fenster gemäss der eingestellten Skalierung. Ändere doch diese und prüfe was passiert.

Via Windows Task Manager siehst du, welcher DPI Mode verwendet wird. Dort unter Details, Spalte DPI hinzufügen; deine .exe suchen.

Eventuell hast du irgendwann einmal nach Rechtsklick auf die .exe unter Eigenschaften die DPI Einstellungen verändert (?).

Es wäre sicher auch nützlich zu prüfen, ob doch ein Mainfest eingebaut ist.
Dies kannst du (falls in .exe eingebaut) zum Beispiel via Sysinternals
sigcheck -m <deine.exe> tun.
Mehr Infos dazu findest du hier.
Michael Gasser
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:39 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz