Autor Beitrag
TheUnknown
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 330



BeitragVerfasst: So 07.07.02 16:40 
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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 215



BeitragVerfasst: So 07.07.02 17: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.

_________________
Oregon Ghost
---
Wenn NULL besonders groß ist, ist es fast schon wie ein bisschen eins.
TheUnknown Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 330



BeitragVerfasst: Mo 08.07.02 21:20 
DANKE! HAT MIR SEHR GEHOLFEN...
SpeedyGTD
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 89



BeitragVerfasst: So 21.07.02 12: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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Veteran
Beiträge: 9839
Erhaltene Danke: 45

Windows 8.1
Delphi XE4
BeitragVerfasst: So 21.07.02 12:37 
Hast Du die Unit ShellAPI eingebunden?
Alfons-G
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 307

Win XP Prof, Linux, Win 7
D5 Prof, D7 Architect, D2005 Architect, D2007 Architect
BeitragVerfasst: So 21.07.02 13: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...

:)

_________________
Alfons Grünewald
Dieses Thema ist gesperrt, Du kannst keine Beiträge editieren oder beantworten.

Das Thema wurde von einem Team-Mitglied geschlossen. Wenn du mit der Schließung des Themas nicht einverstanden bist, kontaktiere bitte das Team.