AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Windows 11/APPTYPE CONSOLE in "cmd.exe" öffnen
Thema durchsuchen
Ansicht
Themen-Optionen

Windows 11/APPTYPE CONSOLE in "cmd.exe" öffnen

Ein Thema von Ralf Kaiser · begonnen am 14. Mär 2023 · letzter Beitrag vom 14. Mär 2023
Antwort Antwort
Benutzerbild von Ralf Kaiser
Ralf Kaiser

Registriert seit: 21. Mär 2005
Ort: Wuppertal
932 Beiträge
 
Delphi 10.3 Rio
 
#1

Windows 11/APPTYPE CONSOLE in "cmd.exe" öffnen

  Alt 14. Mär 2023, 15:28
Hallo zusammen,

Wenn man in Delphi 11 eine Konsolen-Anwendung öffnet dann wird diese in der Windows-11-Standard Einstellung im Terminal geöffnet.

Bei einer älteren Konsolenanwendung haben wir Probleme wenn sie nicht in der normalen Eingabe-Aufforderung als Konsolen-Host geöffnet wird (die Anwendung hat Probleme unter anderem bei der farblichen Gestaltung der Konsolenausgabe im Terminal mit Escape-Sequenzen).

Man kann in den Standard-Einstellungen für das Terminal auswählen, dass die normale Eingabe-Aufforderung als Standard Konsolen-Host benutzt wird. Besser wäre es natürlich wenn das Programm selbst steuern könnte, welcher Konsolen-Host benutzt wird. Leider habe ich bisher keine Möglichkeit dazu gefunden.

Kennt jemand eine Möglichkeit, wie man vom Code aus den zu verwendenden Konsolen-Host auswählen kann?

Ciao,
Ralf
Ralf Kaiser
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Windows 11/APPTYPE CONSOLE in "cmd.exe" öffnen

  Alt 14. Mär 2023, 16:44
Terminal ist (zumindestens in aktuellen Win11) nun vorinstalliert
und die cmd.exe ist ebenfalls darauf umgebogen.

Das ist halt so: Terminal ist die neue Standard-Console.



Schau mal, ob du unter HKLM\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\cmd.exe einen Eintrag findest.

Oder ob du in den installierten Programmen (AppStore) den Terminal zum Deinstallieren entdeckst.



Neee, ich hab ja noch nichtmals rausgefunden, wie man den Conhost bei sich selber einbinden kann.
Und den Quellcode des neuen Terminal empfinde ich auch nicht grade als verständlich.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (14. Mär 2023 um 16:52 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.580 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Windows 11/APPTYPE CONSOLE in "cmd.exe" öffnen

  Alt 14. Mär 2023, 18:09
Bei einer älteren Konsolenanwendung haben wir Probleme wenn sie nicht in der normalen Eingabe-Aufforderung als Konsolen-Host geöffnet wird (die Anwendung hat Probleme unter anderem bei der farblichen Gestaltung der Konsolenausgabe im Terminal mit Escape-Sequenzen).
Ich habe Farben in der Konsole immer mit SetConsoleTextAttribute gesetzt. Das funktioniert soweit ich es bisher gesehen habe in meinen Projekten auch problemlos mit dem Terminal unter Windows 11. Die Ausgabe sieht dort genauso wie vorher in der cmd.exe aus inkl. Fortschrittsanzeige usw., so dass ich da nichts anpassen musste.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Windows 11/APPTYPE CONSOLE in "cmd.exe" öffnen

  Alt 14. Mär 2023, 18:33
Teilweise machen die "alten" API das noch und biegen es intern um, aber ...

Neu ist es wie im XServer eines anderen OS.

Die Farben werden in den Stream kodiert (so wie früher noch die EscapeCodes) und nicht mehr parallel übertragen.





Grundsätzlich stehen alle diese alten Consolen-APIs auf deprecated
und sollten nicht mehr verwendet werden.

Zitat:
In diesem Dokument wird die Funktionalität der Konsolenplattform beschrieben, die nicht mehr Teil unserer Roadmap für das Ökosystem ist.
Wir raten davon ab, diese Inhalte in neuen Produkten zu verwenden, aber wir werden weiterhin vorhandene Nutzungen für die unbestimmte Zeit unterstützen.
Unsere bevorzugte moderne Lösung konzentriert sich auf virtuelle Terminalsequenzen, um maximale Kompatibilität in plattformübergreifenden Szenarien zu gewährleisten.
Weitere Informationen zu dieser Entwurfsentscheidung finden Sie in unserem Dokument klassische Konsole und virtuelles Terminal .
https://learn.microsoft.com/de-de/wi...system-roadmap



Zitat:
Die Ausgabe sieht dort genauso wie vorher in der cmd.exe
Du mußt mal in der Darstellung den Retro-Effekt aktivieren ... also das ist sowas von cool, da kann die alte CMD einpacken.

Wie im Delphi (FMX) wird nun alles via 3D-Engine gerendert.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (14. Mär 2023 um 18:41 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 08:27 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