AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi ShellExecute mit mehreren Parametern
Thema durchsuchen
Ansicht
Themen-Optionen

ShellExecute mit mehreren Parametern

Ein Thema von Andreas L. · begonnen am 27. Mär 2005 · letzter Beitrag vom 1. Apr 2005
Antwort Antwort
Seite 1 von 2  1 2      
Andreas L.
(Gast)

n/a Beiträge
 
#1

ShellExecute mit mehreren Parametern

  Alt 27. Mär 2005, 19:39
Hi,
ich möchte mit ShellExecute mehrere Parameter aufrufen. Ein Parameter geht ja, aber wie soll ich den zweiten aufrufen. Mein derzeitiger Code ruft leider nur den ersten Flag auf.

shellexecute(application.handle, 'open', Pchar(extractfilepath(application.exename)+'streamripper\streamripper.exe'),Pchar(Listbox2.Items.Strings[Listbox1.itemindex]+' -d '+OwnFolderPath),'',sw_shownormal); Der erste Parameter ist ein Dateiname, der andere (-d '+OwnFolderPath) löst den parameter "d" mit der variable OwnFolderPath auf. Wieso geht mein Code nicht? Muss ich vielleicht den zweiten Flag wo anders positionieren?

Vielen Dank für eure hilfe

Bye,
Andy
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#2

Re: ShellExecute mit mehreren Parametern

  Alt 27. Mär 2005, 19:42
Hi,

wenn ShellExecute fehlschlägt wird ein Code >= 32 zurückgegeben.

Also zur Fehlerbestimmung:
Delphi-Quellcode:
if ShellExecute(...) >= 32 then
  ShowMessage(SysErrorMessage(GetLastError)); // oder: RaiseLastOSError;
mfG
mirage228
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
Andreas L.
(Gast)

n/a Beiträge
 
#3

Re: ShellExecute mit mehreren Parametern

  Alt 27. Mär 2005, 19:49
Aber ShellExecute schlägt nicht fehl. Ich führe den oberen Code aus und es wird halt einfach nur der erste Parameter ausgeführt, der zweite nicht. Aber es kommen keine Fehler etc.
  Mit Zitat antworten Zitat
Mephistopheles
(Gast)

n/a Beiträge
 
#4

Re: ShellExecute mit mehreren Parametern

  Alt 28. Mär 2005, 00:20
Zitat von onlinehome:
Aber ShellExecute schlägt nicht fehl. Ich führe den oberen Code aus und es wird halt einfach nur der erste Parameter ausgeführt, der zweite nicht. Aber es kommen keine Fehler etc.
Wie wäre es denn die Parameter einzeln in "" zu stecken, so wie man es auf der Kommandozeile auch tun würde?
  Mit Zitat antworten Zitat
Benutzerbild von arbu man
arbu man

Registriert seit: 3. Nov 2004
Ort: Krefeld
1.108 Beiträge
 
Delphi 7 Professional
 
#5

Re: ShellExecute mit mehreren Parametern

  Alt 28. Mär 2005, 00:26
oder versuch mal #13 dazwischen zu setzen
Björn
>> http://bsnx.net <<
Virtual DP Stammtisch v1.0"iw" am 19.09.2007 - ich war dabei!
  Mit Zitat antworten Zitat
Andreas L.
(Gast)

n/a Beiträge
 
#6

Re: ShellExecute mit mehreren Parametern

  Alt 28. Mär 2005, 11:07
Ich hab das problem.
In der variable "OwnFolderPath" befindet sich ja ein Pfad. Dieser Pfad enthält ein Leerzeichen. Der Pfad lautet: F:\streamripper gui\streams

Die konsolenanwendung denkt das Verzeichnis lautet F:\streamripper. Es liegt also am Leerzeichen. gibt es da irgendeinen Platzhalter für Leerzeichen, so das die Konsolenanwendung den Pfad richtig erhält.

In Internet-Adressen gibts ja diese %20 als Leerzeichen. Was muss ich in meinen Sourcecoide einbauen?

StringReplace(OwnFolderPath,' ',%20,[rfReplaceAll]); hmm???

Vielen Dank schonmal
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#7

Re: ShellExecute mit mehreren Parametern

  Alt 28. Mär 2005, 11:13
Nein, wenn der Pfad Leerzeichen enthält muss Du den gesamten Pfad in Anführungszeichen setzen.

z.B. "C:\Mit Leerzeichen\abc.def"

mfG
mirage228
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
Mephistopheles
(Gast)

n/a Beiträge
 
#8

Re: ShellExecute mit mehreren Parametern

  Alt 28. Mär 2005, 11:14
*schnarch* Wie wäre es denn mal erst oben zu lesen und dann nochmal zu fragen. Die Hochkommata ("") werden auch auf der Kommandozeile benutzt um Leerzeichen enthaltende Parameter zusammenzuhalten.

Den anderen Trick mit #13 kenne ich nicht und kann daher nichts über Funktionsweise usw. aussagen.
  Mit Zitat antworten Zitat
Andreas L.
(Gast)

n/a Beiträge
 
#9

Re: ShellExecute mit mehreren Parametern

  Alt 28. Mär 2005, 11:58
Ahh, Danke.

Jetzt funktioniert alles. Endlich kann ich die beta zum testen freigeben...
  Mit Zitat antworten Zitat
MarLe

Registriert seit: 13. Jan 2005
83 Beiträge
 
Delphi XE2 Professional
 
#10

Re: ShellExecute mit mehreren Parametern

  Alt 1. Apr 2005, 12:59
Hallo,

ich habe gerade ein ähnliches Problem.

Delphi-Quellcode:
...
PChar("/devmod /lD:\Test"),
// als auch
PChar("/devmod" "/lD:\Test"),
// funktioniert
...
ShellExecute funktioniert ich bekomm von der Funlktion aber immer den Rückgabewert 42.
Mit diesem Wert fall ich dann in die Fehlerabfrage >= 32

Was bedeutet dieser Rückgabwert???
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:48 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz