Entwickler-Ecke

Windows API - Befehl inkl. Parameter ausführen...


TheUnknown - So 07.07.02 17:40
Titel: Befehl inkl. Parameter ausführen...
Moin!

Wie kann ich folgendes realisieren:

Der User hat ein TEdit, das er einen beliebiegen Befehl und oder Dateinamen PLUS(!) die dazugehörigen Paramter angeben kann. so, z.B. notepad c:\autoexec.bat. Es soll aber immer noch möglich sein, dass auch mal die Parameter weggelassen werden werden können..., also "nur" notepad.

Mit ShellExecute klappt das nicht so rech, denn da MUSS man explizit angeben, was DATEINAME und was PARAMETER ist. Ich weiss jedoch nicht, wie ich aus dem TEdit die beiden Angeben (Befehl und Parameter) seperat extrahieren...

Kann mir jemand helfen?

[/b]


OregonGhost - So 07.07.02 18:08

Der Befehl selbst ist beim ersten Leerzeichen zuende. Wenn die Datei Leerzeichen im Namen enthält, muss der Dateiname in Anführungszeichen gesetzt werden, dann ist der Befehl eben nach dem zweiten Anführungszeichen zu Ende. Aber das ist auch egal, denn das braucht dich nicht zu kümmern, wenn du statt ShellExecute() einfach CreateProcess() verwendet. Das nimmt zwar ein paar mehr Parameter (von denen die meisten 0 oder nil sein können (c; ), aber dafür kannst du, wenn du für lpApplicationname nil angibst, die komplette Befehlszeile als lpCommandline übergeben.


TheUnknown - Mo 08.07.02 22:20

DANKE! HAT MIR SEHR GEHOLFEN...


SpeedyGTD - So 21.07.02 13:10
Titel: ShellExeute
ich habe auch so ein Problem, allerdings akzeptiert mein Delphi den Befehl ShellExecute nicht, ich hab inzwischen weite Teile der Delphi Hilfe durschsucht, aber alles was mit ShellExecute zu tun hat wird einfach nicht erkannt.


Tino - So 21.07.02 13:37

Hast Du die Unit ShellAPI eingebunden?


Alfons-G - So 21.07.02 14:49

ShellExecute() ist ein WinAPI-Befehl, Du musst in der WinAPI-Referenz danach suchen. Diese ist nicht direkt in die Delphi-Hilfe eingebunden und nur in englisch verfügbar.

Du erreichst sie über den entsprechenden Menüpunkt im Delphi-Hilfe-Menü, sowie über das Startmenü:Borland Delphi 5 | Hilfe | Hilfedateien des MS-SDK | Win32-SDK-ReferenzDas Durchstöbern der Hilfedateien ist ohnehin empfehlenswert - nicht, um sich Alles zu merken, sondern um ein Gefühl dafür zu bekommen, wo kann ich was finden...

:)