AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Konsolen-Anwendung unsichtbar machen

Ein Thema von Alieze · begonnen am 1. Feb 2015 · letzter Beitrag vom 1. Feb 2015
Antwort Antwort
Alieze

Registriert seit: 30. Jan 2015
Ort: Köln
11 Beiträge
 
Delphi XE7 Architect
 
#1

Konsolen-Anwendung unsichtbar machen

  Alt 1. Feb 2015, 18:18
Delphi-Version: 5
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 ?
Tim

Geändert von Alieze ( 1. Feb 2015 um 18:23 Uhr)
  Mit Zitat antworten Zitat
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.919 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Anwendung unsichtbar machen

  Alt 1. Feb 2015, 18:24
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
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.007 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#3

AW: Konsolen-Anwendung unsichtbar machen

  Alt 1. Feb 2015, 18:33
Mit ShellExecute aufrufen und als letzten Parameter SW_HIDE übergeben.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
Alieze

Registriert seit: 30. Jan 2015
Ort: Köln
11 Beiträge
 
Delphi XE7 Architect
 
#4

AW: Konsolen-Anwendung unsichtbar machen

  Alt 1. Feb 2015, 19:50
Herzlichen dank euch beiden!
Tim
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:28 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