AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein TShellExecuteInfo --> CMDShow Command Box beim schlissen hindern
Thema durchsuchen
Ansicht
Themen-Optionen

TShellExecuteInfo --> CMDShow Command Box beim schlissen hindern

Ein Thema von ATS3788 · begonnen am 1. Jan 2014 · letzter Beitrag vom 5. Jan 2014
Antwort Antwort
Benutzerbild von ATS3788
ATS3788

Registriert seit: 18. Mär 2004
Ort: Kriftel
646 Beiträge
 
Delphi XE Starter
 
#1

TShellExecuteInfo --> CMDShow Command Box beim schlissen hindern

  Alt 1. Jan 2014, 11:43
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
Martin MIchael

Geändert von ATS3788 ( 1. Jan 2014 um 11:45 Uhr) Grund: Rechtschreibfehler
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: TShellExecuteInfo --> CMDShow Command Box beim schlissen hindern

  Alt 1. Jan 2014, 12:41
Du kannst deinen Beitrag und Titel selber korrigieren.
Dafür gibt es den Bearbeiten Button (dann auf Erweitert)
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Aviator

Registriert seit: 3. Jun 2010
1.611 Beiträge
 
Delphi 10.3 Rio
 
#3

AW: TShellExecuteInfo --> CMDShow Command Box beim schlissen hindern

  Alt 1. Jan 2014, 14:07
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.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.062 Beiträge
 
Delphi 12 Athens
 
#4

AW: TShellExecuteInfo --> CMDShow Command Box beim schlissen hindern

  Alt 1. Jan 2014, 14:31
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.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von ATS3788
ATS3788

Registriert seit: 18. Mär 2004
Ort: Kriftel
646 Beiträge
 
Delphi XE Starter
 
#5

AW: TShellExecuteInfo --> CMDShow Command Box beim schliessen hindern

  Alt 2. Jan 2014, 15:05
Danke
für die Antwort
werde ich später ausprobieren

Ein schönes tolles 2014
Martin MIchael
  Mit Zitat antworten Zitat
Benutzerbild von ATS3788
ATS3788

Registriert seit: 18. Mär 2004
Ort: Kriftel
646 Beiträge
 
Delphi XE Starter
 
#6

AW: TShellExecuteInfo --> CMDShow Command Box beim schliessen hindern

  Alt 5. Jan 2014, 08:35
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
Martin MIchael

Geändert von ATS3788 ( 5. Jan 2014 um 08:36 Uhr) Grund: rechtschreibfehler
  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 11:47 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