![]() |
Consolen-Programm in selber Console
Hi,
ich habe ein Consolen-Programm und starte aus diesem heraus ein anderes Consolen-Programm per ShellExecute. Nur leider wird hier ein neues Consolen-Fenster geöffnet, ich hätte es aber gerne im selben Consolen-Fenster. Ist das irgendwie möglich? |
Re: Consolen-Programm in selber Console
Nein. Die Konsole ist der Hostprozess für das Konsolenprogramm. Und eine Konsole kann immer nur ein Konsolenprogramm "hosten".
|
Re: Consolen-Programm in selber Console
Ähem, Luckie? Wozu gibt es dann das Process Creation Flag CREATE_NEW_CONSOLE? Man muss einfach nur CreateProcess mit den Default-Parametern aufrufen, dann wird die Konsole vererbt.
|
Re: Consolen-Programm in selber Console
Ich wollte das auch nicht so recht glauben und war kurz davor anzumerken, dass das Make Tool entgegen Luckies Aussage dies schafft.
|
Re: Consolen-Programm in selber Console
Du kannst so oft cmd.exe IM CONSOLENFENSTER starten, wie Du willst, beenden musst Du dann JEDES Einzelne mit EXIT.
Es geht OHNE Make Tool. |
Re: Consolen-Programm in selber Console
Hä? :gruebel: Ich kapier jetzt nicht, was du mit der Aussage meinst bzw. besser: erreichen willst? Das war mir alles bewusst und bekannt und meine Aussage war nur ein Gegenbeispiel zu Luckies Aussage. Oder habe ich was nicht mitgeschnittent? :gruebel:
|
Re: Consolen-Programm in selber Console
So, danke erstmal für eure Antworten.
Also das hat soweit geklappt: Zitat:
![]()
Delphi-Quellcode:
var
StartupInfo: TStartupInfo; ProcessInfo: TProcessInformation; s: string; begin // s := 'Dateiname.exe "Meine Parameter"'; WriteLN('Run:'); WriteLN(s+#13#10); FillChar(StartupInfo, SizeOf(StartupInfo), #0); StartupInfo.cb := SizeOf(StartupInfo); if CreateProcess(nil, PChar(s), nil, nil, False, 0, nil, nil, StartupInfo, ProcessInfo) then begin WaitForSingleObject(ProcessInfo.hProcess, INFINITE); if ProcessInfo.hProcess <> 0 then CloseHandle(ProcessInfo.hProcess); if ProcessInfo.hThread <> 0 then CloseHandle(ProcessInfo.hThread); end else WriteLN('Cannot run this program'); WriteLN('Program finished'); end. |
Re: Consolen-Programm in selber Console
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:45 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