AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi Win 10 + DPI Skalierung + WinExec()
Thema durchsuchen
Ansicht
Themen-Optionen

Win 10 + DPI Skalierung + WinExec()

Ein Thema von TigerLilly · begonnen am 19. Sep 2018 · letzter Beitrag vom 19. Sep 2018
Antwort Antwort
TigerLilly

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

Win 10 + DPI Skalierung + WinExec()

  Alt 19. Sep 2018, 08:29
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?
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.158 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: Win 10 + DPI Skalierung + WinExec()

  Alt 19. Sep 2018, 09:51
Ich musste erst einmal nachschlagen was WinExec(..) ist, noch nie gehört

Zitat:
This function is provided only for compatibility with 16-bit Windows. Applications should use the CreateProcess function.
(docs.microsoft.com)


Probier doch mal ShellExecute(..)/ShellExecuteEx(..) oder schlimmstenfalls CreateProcess(..)
  Mit Zitat antworten Zitat
TigerLilly

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

AW: Win 10 + DPI Skalierung + WinExec()

  Alt 19. Sep 2018, 10:11
WinExec sollte richtigerweise ShellOpenFile (so wie es im Text beschrieben ist) heißen.
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.158 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

AW: Win 10 + DPI Skalierung + WinExec()

  Alt 19. Sep 2018, 10:20
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...
  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
 
#5

AW: Win 10 + DPI Skalierung + WinExec()

  Alt 19. Sep 2018, 10:28
Ich finde in der Winapi-Doku sowie in allen .pas-Dateien von Delphi kein "ShellOpenFile", was soll das sein?
Geht mir genauso.
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
 
#6

AW: Win 10 + DPI Skalierung + WinExec()

  Alt 19. Sep 2018, 10:33
Ja, ok, ich kann auch mehr Kaffee brauchen: ShellOpenFile maskiert
Code:
ShellExecute(0, nil, PChar(FileName), nil, nil, ShowCmd);
Delphi2006
  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 11:26 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