Delphi-Quellcode:
if AttachConsole(ATTACH_PARENT_PROCESS) then
{Console ist vorhanden}
Wenn
AttachConsole erfolgreich war, dann ist ein Consolenfenster vorhanden.
{$APPTYPE CONSOLE}
Die Anwendung darf aber nicht als Konsolenanwendung deklariert sein, sonst erstellt Windows automatisch eine Console, wenn noch keine vorhanden ist. Also am Besten das {$APPTYPE ganz einfach weglassen.
Dieser Code läuft jedenfalls bei mir recht gut.
Delphi-Quellcode:
Var ConsoleCreated, B: Boolean;
ConsoleHandle: THandle;
B := AttachConsole(ATTACH_PARENT_PROCESS);
{$IFDEF CreateConsole}
ConsoleCreated := not B;
If ConsoleCreated Then B := AllocConsole;
{$ELSE}
ConsoleCreated := False;
{$ENDIF}
If B Then Begin
ConsoleHandle := GetStdHandle(STD_OUTPUT_HANDLE);
...
End Else ConsoleHandle := INVALID_HANDLE_VALUE;
http://www.delphipraxis.net/internal...=attachconsole