Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Konsolen-Anwendung unsichtbar machen (https://www.delphipraxis.net/183741-konsolen-anwendung-unsichtbar-machen.html)

Alieze 1. Feb 2015 17:18

Delphi-Version: 5

Konsolen-Anwendung unsichtbar machen
 
Hiho,

Ich sitze gerade an einem Programm welches eine Konsolenapplikation startet, da diese sehr 'hässlich' ist würde ich gerne versuchen sie komplett zu verstecken. Also so das nichteinmal das Konsolenfenster kurz 'flickert'. Bisher habe ich folgendes gemacht:

Delphi-Quellcode:

uses
  System.SysUtils, Windows;

function GetConsoleWindow: HWND; stdcall; external kernel32;

begin
  try
     ShowWindow(GetConsoleWindow, SW_HIDE);
     Writeln('nabend Delphi Praxis');
     Readln;
Das ShowWindow(GetConsoleWindow, SW_HIDE); erzielt den erwünschten Effekt. Das Programm arbeitet im Hintergrund aber es flackert dennoch kurz auf.. irgendwelche Ideen ?

Daniel 1. Feb 2015 17:24

AW: Anwendung unsichtbar machen
 
Du musst früher ansetzen.
Aktuell machst Du vermutlich zwei Schritte: (1) Die Konsole als normales Fenster erzeugen (und für diesen kurzen Moment ist sie sichtbar) und (2) sie dann verstecken. Das erklärt das Flackern, das Du siehst.
Du kannst sie gleich versteckt oder minimiert erzeugen. Auf die Schnelle habe ich nur ein Beispiel für C# gefunden, aber im Kern geht es nur um die Parameter, die Du dem Aufruf von CreateProcess() mit auf den Weg gibst - das ist natürlich von der Programmiersprache unabhängig.
http://www.codeproject.com/Articles/...tions-silently

Stevie 1. Feb 2015 17:33

AW: Konsolen-Anwendung unsichtbar machen
 
Mit ShellExecute aufrufen und als letzten Parameter SW_HIDE übergeben.

Alieze 1. Feb 2015 18:50

AW: Konsolen-Anwendung unsichtbar machen
 
Herzlichen dank euch beiden!


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:30 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