Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Problem bei Konsolenanwendung mit optionaler GUI (https://www.delphipraxis.net/59134-problem-bei-konsolenanwendung-mit-optionaler-gui.html)

FriFra 17. Dez 2005 21:53


Problem bei Konsolenanwendung mit optionaler GUI
 
Ich habe ein Konsolenprogramm, welches man mit einem bestimmten Parameter sichtbar (Anzeige der Form) machen kann. Im Fall wo ich es sichtbar mache, habe ich nun allerdings auch noch das Konsolenfenster hinter dem Programmfenster :? - wie bekomme ich in dem Fall das Konsolenfenster verborgen?

omata 18. Dez 2005 05:00

Re: Problem bei Konsolenanwendung mit optionaler GUI
 
Moin,

Delphi-Quellcode:
  AllocConsole;
  try
    SendMessage(GetConsoleWindow, WM_COMMAND, 57359, 0);
  finally
    FreeConsole;
  end;
hoffe das hilft dir weiter.

MfG
Thorsten

ichbins 18. Dez 2005 09:52

Re: Problem bei Konsolenanwendung mit optionaler GUI
 
Du kannst dein Konsolenfenster auch manuell erzeugen:
Delphi-Quellcode:
windows.allocconsole;
windows.freeconsole;
dieses Fenster befindet sich dann allerdings nicht mehr im früheren DOS-Fenster (wenn du cmd öffnest, und dann dein Programm lädst, dann geht ein neues DOS-Fenster auf)

mh166 18. Dez 2005 11:01

Re: Problem bei Konsolenanwendung mit optionaler GUI
 
Öhm... schönen Gruß an mich (bzw. ichbins ;) ): liest du manchmal, was direkt über deinem Post steht. Für mich sieht das jetzt so ziemlich gleich aus. Obwohl ich das obere aufgrund des try-finally-Konstrukts bevorzugen würde..

mfg, mh166

FriFra 18. Dez 2005 13:35

Re: Problem bei Konsolenanwendung mit optionaler GUI
 
Danke ;) ...

allerdings weiß ich im Moment noch nicht, aus welcher unit GetConsoleWindow kommt :roll:

omata 18. Dez 2005 15:17

Re: Problem bei Konsolenanwendung mit optionaler GUI
 
Ups, da hab ich leider was vergessen zu kopieren...

Delphi-Quellcode:
function GetConsoleWindow: THandle;
var S: AnsiString;
    C: Char;
begin
  Result := 0;
  Setlength(S, MAX_PATH + 1);
  if GetConsoleTitle(PChar(S), MAX_PATH) <> 0 then begin
    C := S[1];
    S[1] := '$';
    SetConsoleTitle(PChar(S));
    Result := FindWindow(nil, PChar(S));
    S[1] := C;
    SetConsoleTitle(PChar(S));
  end;
end;
Sorry,
Thorsten


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:49 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz