![]() |
DOS-Befehle in Delphiprogramm verwenden?
Wie kann ich in einem Delphi-programm DOS-befehle verwenden und rausfinden, welche werte zurückgegeben wird?
|
Re: DOS-Befehle in Delphiprogramm verwenden?
Hi, ich hab selbst nie damit gearbeitet, aber ich glaube bei der JEDI VCL ist so eine Komponente dabei: JvCreateProcess. Von dort aus könnte man über c:\Windows\System32\cmd.exe die Konsole ansteuern und sie dazu bewegen Befehle auszuführen... Aber wie gesagt kenne ich mich damit nicht genauer aus. :gruebel:
|
Re: DOS-Befehle in Delphiprogramm verwenden?
Das geht mit
Delphi-Quellcode:
.
Shellexecute
|
Re: DOS-Befehle in Delphiprogramm verwenden?
soweit komm ich:
ShellExecute(0, nil, PfadDerCMD, nil, nil, sw_Hide); aber wie kann ich dann den Befehl einbinden? und wenn ich z.B. einen Ping sende, kommen ja bestimmte Daten zurück, wie kann ich die dann abfragen? in welcher Unit liegt eigentlich die ShellExecute-funktion? |
Re: DOS-Befehle in Delphiprogramm verwenden?
Da wo "PfadDerCmd" steht, setze da mal 'C:\MeinProgramm\programm.exe' ein. Bzw. wie das ganze bei Dir heißt.
Stop ! das SW_HIDE vorsichtshalber durch SW_SHOW ersetzen. |
Re: DOS-Befehle in Delphiprogramm verwenden?
Ich weiss es zwar nicht mehr genau,
aber es ging irgendwie mit der Funktion CreatePipe, hatte da auch mal ein Demo in VB Hab wohl leider atm nicht die Möglichkeit, das hier zu posten, weil ich nicht zuhause bin. Werde es aber mal selber versuchen und dann asap hier posten :coder: |
Re: DOS-Befehle in Delphiprogramm verwenden?
ich versteh nicht ganz:
wenn ich das dann in das OnCreate-Event des Forms reintun würde, dann würde sich das Programm rekursiv aufrufen (oder hab ich was falsch verstanden)?!? in welcher Unit liegt die ShellExecute-funktion? |
Re: DOS-Befehle in Delphiprogramm verwenden?
ShellExecute unterliegt (afaik) der Unit ShellApi
:roll: und als PfadDerCMD müsste dann entsprechend dem gegebenen Beispiel Ping.exe rein :nerd: [Edit1] Für manche Sachen hab ich 'ne Api-Sammlung mit Beispielen für VB, hab auch leider bisher noch kein Äquivalent dazu für Delphi gefunden :( aber ich suche weiter :D [/Edit1] [Edit2] Die Sammlung findet man unter ![]() [/Edit2] |
Re: DOS-Befehle in Delphiprogramm verwenden?
Moin Moin
erstmal vorne Weg, die Suchfunktion betätige ich jetzt schon seit Stunden bei Google und in dieversen Boards nur leider finde ich nicht zu einem Ergebnis :( Ich nutze nämlich nicht Delphi sondern Lazarus ist aber auch Pascal und ähnlich Delphi: ![]() Das Problem was ich jetzt habe ist das: // Notepad oeffnen procedure TForm1.MenuItem21Click(Sender: TObject); var sw_show: longint; begin Shellexecute(Application.Handle,'open',PChar('C:\W INNT\notepad.exe'),nil,nil,sw_show); end; nicht funktioniert, C:\WINNT\notepad.exe ist aber bei W2K richtig ;) jetzt fragt ihr euch bestimmt warum ich var sw_show: longint; gemacht habe ? ganz einfach weil sonst der Compiler meckert, oder was muß man da einbinden ? die ShellAPI ist eingebunden unter uses notepad erscheint einfach nicht, ist aber in der Prozessliste über den Taskmanager zu sehen ich vermute mal das es an sw_show liegt, kann den fehler aber nicht weiter eingrenzen PS ich beschäftige mich erst seit 3 Tagen mit dem Thema (vorher nur PHP) Nebenbei mal noch ne andere Frage die hie rnicht so ganz passt ich mich aber auch schon todgesucht habe ich habe jetzt z.B. in Edit1.Text einen Inhalt drinn, den möchte ich überprüfen möchte ob dort z.b. ABC drinn vorkommt, wie stelle ich das am besten an ? habe da kein so richgtiges schlagwort für die suche gefunden und klicke mich so durch ganzen seiten durch |
Re: DOS-Befehle in Delphiprogramm verwenden?
Hallo,
versuchs mal so
Delphi-Quellcode:
uses ShellApi; ShellExecute(Application.Handle, 'open', PChar('Notepad.exe'), nil, nil, SW_SHOWNORMAL); Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:41 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 by Thomas Breitkreuz