willi4willi hat geschrieben: ↑Do 29. Okt 2020, 21:42
Danke allen für die Tipps!
Das war die Lösung!
Und damit ich das öfter Im Programm verweden kann, ohne die Funktion erneut aufrufen zu müssen, packe ich das in eine Variable. Das ist auch eine gute Idee.
Für diesen Fall solltest du einfach die Variable
IsConsole aus der Unit
System verwenden, diese wird nämlich durch den jeweiligen Einsprungspunkt in die Anwendung gesetzt und spiegelt damit tatsächlich den Zustand von
-WG wieder.
Die Prüfung von
GetConsoleWindow hat nämlich den Nachteil, dass ein Aufruf deines Programms mit Dateiumleitung durch
CreateProcess ebenfalls denkt, dass es im GUI-Modus ist.
Zur Demonstration:
Code: Alles auswählen
program tconsole;
uses
Windows;
var
s: AnsiString;
begin
WriteStr(s, IsConsole);
MessageBox(0, PChar(s), 'Info', MB_OK);
end.
Einmal mit und einmal ohne
-WG kompiliert zeigt der Dialog
TRUE in ersten und
FALSE im zweiten Fall an.