Registriert seit: 1. Feb 2018
3.691 Beiträge
Delphi 11 Alexandria
|
AW: Konsolenanwendung - crt.pas - Console Library
28. Jun 2023, 12:53
Bis eben hatte ich das Windows-Terminal noch gar nicht installiert, also wurde bei mir automatisch der Windows-Konsolenhost verwendet. Unter dem Windows-Terminal läuft mein Code nicht sauber. Sobald das Windows-Terminal installiert ist, kann man unter "Datenschutz und Sicherheit > Für Entwickler > Terminal" einstellen, ob "Windows-Konsolenhost" oder "Windows-Terminal" verwendet werden soll. Wählt man hier den Windows-Konsolenhost läuft mein Code wieder sauber. Jetzt wäre es natürlich interessant zu wissen, ob man Windows irgendwie aus der App heraus vorgeben kann ob der Konsolenhost oder das Terminal verwendet werden soll, unabhängig von der oben genannten Windows-Einstellung. Da muss ich erst einmal recherchieren, oder hat von Euch jemand eine Idee.
Ferner wäre es natürlich interessant zu wissen, ob der Code auch kompatibel zum Windows-Terminal gemacht werden kann. Ein kurzer Test war da eigentlich sehr vielversprechend. Einige der Grundfunktionen die ich nutze scheinen direkt vom Terminal unterstüzt zu werden. Aber für eine ordentliche Bewertung muss ich mich wohl erst mal wieder in der MSDN und/oder der Dokumentation vom Terminal eingraben...
Kannst Du mal mit diesem Schnippsel prüfen was unter einem Terminal rauskommt?
Delphi-Quellcode:
function IsConsole: Boolean;
var
Stdout: THandle;
begin
Stdout := GetStdHandle(Std_Output_Handle);
Win32Check(Stdout <> Invalid_Handle_Value);
Result := Stdout <> 0;
end;
Laut hier -> https://learn.microsoft.com/en-us/wi...e/getstdhandle sollte es nur für eine Konsole funktionieren.
|
|
Zitat
|