AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Delphi-PRAXiS - Lounge Betriebssysteme bei Start von Dos Programm flackert immer kurz das DOS Fenster auf
Thema durchsuchen
Ansicht
Themen-Optionen

bei Start von Dos Programm flackert immer kurz das DOS Fenster auf

Ein Thema von zeras · begonnen am 29. Jun 2013 · letzter Beitrag vom 29. Jun 2013
Antwort Antwort
zeras

Registriert seit: 11. Mär 2007
Ort: Saalkreis
1.633 Beiträge
 
Delphi 12 Athens
 
#1

bei Start von Dos Programm flackert immer kurz das DOS Fenster auf

  Alt 29. Jun 2013, 13:24
Betriebssystem: Win 7
Hallo,

ich starte ein externes DOS Programm zum Entpacken von Daten. Für dieses Programm gibt es weder eine Windows Umgebung noch eine DLL.
Das ganze funktioniert soweit, nur wird immer kurz das DOS Fenster aufgemacht und nach kurzer Zeit verschwindet dies wieder. Funktion ist OK, nur etwas unschön in einem professionellen Programm.
Starten tue ich das DOS Programm mit:

Delphi-Quellcode:

 if Show then begin
    StartupInfo.wShowWindow := SW_SHOWNORMAL
  end
  else begin
    StartupInfo.wShowWindow := SW_HIDE;
  end;

  StartupInfo.dwFlags := STARTF_USESHOWWINDOW;

if CreateProcess(nil,
                   PChar( f + ' ' + para),
                   nil,
                   nil,
                   False,
                   NORMAL_PRIORITY_CLASS,
                   nil,
                   nil,
                   StartupInfo,
                   ProcessInfo) then begin
                     WaitForSingleObject(ProcessInfo.hProcess, INFINITE);
                     CloseHandle(ProcessInfo.hProcess);
                     result := true;
                   end
                   else begin
                     ErrInfo := GetLastError;
                     ShowMessage('Fehler beim Prozess starten!'
                                 + #10#13
                                 + 'Errorcode = ' + IntToStr(ErrInfo));
                   end;
Hat jemand eine Idee, wie man das Aufflackern des DOS Fensters vermeidet?
Matthias
Es ist nie falsch das Richtige zu tun!
- Mark Twain

Geändert von zeras (29. Jun 2013 um 13:59 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#2

AW: bei Start von Dos Programm flackert immer kurz das DOS Fenster auf

  Alt 29. Jun 2013, 13:36
Die StartupInfo-Struktur verfügt über ein Feld namens wShowWindow. Das MSDN sagt dazu:
Zitat:
wShowWindow

If dwFlags specifies STARTF_USESHOWWINDOW, this member can be any of the values that can be specified in the nCmdShow parameter for the ShowWindow function, except for SW_SHOWDEFAULT. Otherwise, this member is ignored.

For GUI processes, the first time ShowWindow is called, its nCmdShow parameter is ignored wShowWindow specifies the default value. In subsequent calls to ShowWindow, the wShowWindow member is used if the nCmdShow parameter of ShowWindow is set to SW_SHOWDEFAULT.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
zeras

Registriert seit: 11. Mär 2007
Ort: Saalkreis
1.633 Beiträge
 
Delphi 12 Athens
 
#3

AW: bei Start von Dos Programm flackert immer kurz das DOS Fenster auf

  Alt 29. Jun 2013, 13:49
Die StartupInfo-Struktur verfügt über ein Feld namens wShowWindow. Das MSDN sagt dazu:
Danke für die Info. Ich habe mal oben im Quelltext einige Zeilen ergänzt, die ich vorher nicht gepostet hatte. Dort hatte ich schon Rücksicht genommen auf wShowWindow. Leider geht das auch nicht.
Gibt es noch andere Ideen?
Matthias
Es ist nie falsch das Richtige zu tun!
- Mark Twain
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#4

AW: bei Start von Dos Programm flackert immer kurz das DOS Fenster auf

  Alt 29. Jun 2013, 13:52
Und wie sieht das dwFlags-Feld aus?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
zeras

Registriert seit: 11. Mär 2007
Ort: Saalkreis
1.633 Beiträge
 
Delphi 12 Athens
 
#5

AW: bei Start von Dos Programm flackert immer kurz das DOS Fenster auf

  Alt 29. Jun 2013, 14:00
Und wie sieht das dwFlags-Feld aus?
Das hatte ich noch nicht beschrieben. Oben im Quelltext habe ich noch die Zeile eingefügt. Nun geht es.

Vielen Dank.
Matthias
Es ist nie falsch das Richtige zu tun!
- Mark Twain
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#6

AW: bei Start von Dos Programm flackert immer kurz das DOS Fenster auf

  Alt 29. Jun 2013, 14:08
Ja, man muss die Doku auch vollständig lesen
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Antwort Antwort


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 07:02 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