![]() |
ShellExecute - Rückgabe des ausgeführten?
Hallo DP Community,
ich hab bis jetzt einiges im Forum über ShellExecute gelesen auch in externen Foren. Zum einen kam ich darauf, dass man ShellExecuteEx oder CreateProcess (o.ä.) um etwas zum laufen zu bringen, wenn man die ProcessID braucht. Nun ich weiß nicht, inwiefern mein Anliegen dem nahe kommt. Ich möchte über ShellExecute die CMD aufrufen, als Params hab ich '/C ipconfig /all'. Die Abfrgae, ob ShellExecute <= 32 ist, habe ich auch implementiert. Dahingehend kommen keine Errors.
Delphi-Quellcode:
Nun, ich würde gerne das, was die CMD normalerweise bei 'ipconfig /all' ausgibt, in ein TMemo laden.
var path, params: string;
... path:= 'C:\WINDOWS\system32\cmd.exe'; params:= '/C ipconfig /all'; ShellExecute(0, 'open', PChar(path), PChar(params), nil, SW_HIDE); Zudem hatte ich vorher in path '%SYSTEMROOT%\system32\cmd.exe' stehen, jedoch kam Delphi mit dem %SYSTEMROOT% nicht klar, und ich bekam andauernd einen Error zurück. Ich weiß nun einfach nicht, wie ich auf das, was mir die CMD zurück gibt, auch zugreifen kann?! Mit freundlichen Grüßen |
Re: ShellExecute - Rückgabe des ausgeführten?
Beim cmd kannst du den Pfad weglassen. Dann kannst du die Ausgabe umleiten
|
Re: ShellExecute - Rückgabe des ausgeführten?
auf die Ausgabe kannst du mit Pipes zugreifen welche du bei CreateProcess mitgeben kannst.
Ein Beispiel gibts hier: ![]() Im übrigen handelt es sich da nicht um die Rückgabe sondern die Std-Ausgabe. Die Rückgabe wäre das worauf man mit ErrorLevel in der Console zugreifen kann. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:32 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