Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Library: Windows API / MS.NET Framework API (https://www.delphipraxis.net/20-library-windows-api-ms-net-framework-api/)
-   -   Delphi ShellExecute: Konsolenfenster offen halten (https://www.delphipraxis.net/85514-shellexecute-konsolenfenster-offen-halten.html)

inherited 31. Jan 2007 20:45


ShellExecute: Konsolenfenster offen halten
 
Hi,
immer wieder wird gefragt, wie man die Konsole, die bei einem Programmaufruf mittels ShellExecute geöffnet wird, offen halten kann. Dazu ruft man einfach die Eingabeaufforderung auf, also cmd.exe oder command.com, und übergibt ihr als Parameter
/C (die Konsole wird geschlossen), oder
/K (Die Konsole bleibt offen), sowie das zu startende Programm
Schließlich sieht das ganze so aus:
Delphi-Quellcode:
  ShellExecute(Application.Handle, 'open', PChar(GetEnvironmentVariable('ComSpec')), '/K ping www.delphipraxis.net', nil, SW_ShowNormal); //CompSpec enthält den Pfad zur Eingabeaufforderung
oder in einer Funktion:
Delphi-Quellcode:
function StartProgram(pname: String; KeepAlive: Boolean): Integer;
begin
  if KeepAlive then
    ShellExecute(Application.Handle, 'open', PChar(GetEnvironmentVariable('ComSpec')), PChar('/K '+pname), nil, SW_ShowNormal)
  else
    ShellExecute(Application.Handle, 'open', PChar(GetEnvironmentVariable('ComSpec')), PChar('/C '+pname), nil, SW_ShowNormal);
  result:=GetLastError;
end;
:hi:
Gruß, Inherited


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