AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Windows anweisen die Anwendung zu skalieren

Ein Thema von JYPDWhite · begonnen am 17. Sep 2018 · letzter Beitrag vom 17. Sep 2018
Antwort Antwort
JYPDWhite

Registriert seit: 29. Sep 2010
28 Beiträge
 
#1

Windows anweisen die Anwendung zu skalieren

  Alt 17. Sep 2018, 17:27
Hallo zusammen,

ich habe hier eine Anwendung die nicht DPI-Aware ist und wo der Aufwand relativ hoch ist diesen Umstand zu ändern.
Nun ist geplant dass Windows (Windows 10) die Anwendung selbst skaliert mit der Einstellung "System (Erweitert)"
Das ist die Option "Verhalten bei hoher DPI-SKalierung pberschreiben: Skalierung durchgeführt von" im Kompatibilität Reiter.

Nun habe ich natürlich die Möglichkeit bei Programmstart zu prüfen ob für die Anwendung ein Registryschlüssel angelegt ist und wenn nicht diesen anzulegen.Dann müsste das Programm aber neu gestartet werden da Windows die Registryänderung ja vmtl. nicht bei laufenden Prozessen beachtet.
Gibt es eine Möglichkeit z.B. über eine Manifestdatei Windows anzuweisen die Anwendung zu skalieren? Ich habe irgendwie beim googlen dazu nicht so richtig was gefunden.


Ich hoffe ich konnte mein anliegen klar rüber bringen

Grüße JYPDWhite
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.196 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Windows anweisen die Anwendung zu skalieren

  Alt 17. Sep 2018, 17:29
Wenn du gar keine passenden (oder nur veraltete XP-)Manifest-Infos hast, so wird Windows automatisch skalieren.

Du darfst dann nicht die Manifest-Option in der IDE aktivieren sondern das eigene Manifest per XML/res-Datei bereit stellen.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Windows anweisen die Anwendung zu skalieren

  Alt 17. Sep 2018, 17:33
Die Beschreibung zu dem, was diesbezüglich im Manifest möglich ist.
https://msdn.microsoft.com/en-us/lib...(v=vs.85).aspx

Wenn ich es richtig verstehe, dann würde dein gewünschtes Verhalten dem Folgenden entsprechen.
XML-Code:
<dpiAware>false</dpiAware>
<dpiAwareness>unaware</dpiAwareness>
Und was das "zur Laufzeit" angeht, dann sind dort auch ein paar APIs aufgezählt.
MSDN-Library durchsuchenSetProcessDpiAware (das kennt nur aktivieren, also fällt diese API weg)
MSDN-Library durchsuchenSetProcessDpiAwareness
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (17. Sep 2018 um 17:35 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort

 

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 14:04 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