Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   TShellExecuteInfo --> CMDShow Command Box beim schlissen hindern (https://www.delphipraxis.net/178315-tshellexecuteinfo-cmdshow-command-box-beim-schlissen-hindern.html)

ATS3788 1. Jan 2014 10:43

TShellExecuteInfo --> CMDShow Command Box beim schlissen hindern
 
Moin Gutes und tolles 2014
Hallo ich habe diese tolle Funktion
ich glaube von hier.

Meine Frage

http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx

CmdShow != SW_SHOW;

Gibt es eine Möglichkeit den Text abzufangen der kurzweilig in der COMMAND Box
angezeigt wird, für Debug Zwecke.


Delphi-Quellcode:
function ShellExecAndWait(const FileName, Directory, Parameters, Verb: string; CmdShow: Integer): Boolean;
var
   SEI: TShellExecuteInfo;
begin
   FillChar(SEI, SizeOf(SEI), #0);
   SEI.cbSize := SizeOf(SEI);
   SEI.fMask := SEE_MASK_DOENVSUBST or SEE_MASK_FLAG_NO_UI or SEE_MASK_NOCLOSEPROCESS;
   SEI.lpFile := PCharOrNil(FileName);
   SEI.lpDirectory := PCharOrNil(Directory);
   SEI.lpParameters := PCharOrNil(Parameters);
   SEI.lpVerb := PCharOrNil(Verb);
   SEI.nShow := CmdShow;
   Result := ShellExecuteEx(@SEI);
   if Result then
   begin
     WaitForInputIdle(SEI.hProcess, INFINITE);
     WaitForSingleObject(SEI.hProcess, INFINITE);
     CloseHandle(SEI.hProcess);
   end;
end;
Hall Admin kannst Du bitten den Rechtschreibfehler in der Überschrift korrigieren

Sir Rufo 1. Jan 2014 11:41

AW: TShellExecuteInfo --> CMDShow Command Box beim schlissen hindern
 
Du kannst deinen Beitrag und Titel selber korrigieren.
Dafür gibt es den Bearbeiten Button (dann auf Erweitert)

Aviator 1. Jan 2014 13:07

AW: TShellExecuteInfo --> CMDShow Command Box beim schlissen hindern
 
Probier doch mal das hier. Hatte auch irgendwann mal so etwas gesucht, allerdings finde ich den (zumindest bei mir funktionierenden) Code-Schnipsel nicht mehr. Aber ich denke, dass du damit was anfangen kannst.

himitsu 1. Jan 2014 13:31

AW: TShellExecuteInfo --> CMDShow Command Box beim schlissen hindern
 
Da beim ShellExecute nirgendwo ein Handle für den StdOut (die Anzeige) übergeben werden kann, kannat du damit natürlich die Ausgabe nicht umleiten.

Das kann man aber via MSDN-Library durchsuchenCreateProcess erreichen, indem man StdOut und evtuell auch StdErr auf einen eigenen Stream umleitet.



Tja, und nein, die Ausgabe kann immer nur zu einem Ziel gesendet werden,
aber du kannst das ja das Abgefangene selber an das Konsolenfenster schicken.

ATS3788 2. Jan 2014 14:05

AW: TShellExecuteInfo --> CMDShow Command Box beim schliessen hindern
 
Danke
für die Antwort
werde ich später ausprobieren

Ein schönes tolles 2014:thumb:

ATS3788 5. Jan 2014 07:35

AW: TShellExecuteInfo --> CMDShow Command Box beim schliessen hindern
 
Hallo
Die gute alte Batch !:!:
Habe das ganze über eine Batch ablaufen lassen.
Funktioniert wunderbar, nur manchmal möchte man
neue Wege beschreiten
Danke an alle


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