AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) ShellExecute mehrere Dateien als Parameter übergeben
Thema durchsuchen
Ansicht
Themen-Optionen

ShellExecute mehrere Dateien als Parameter übergeben

Ein Thema von Chris.R · begonnen am 20. Jul 2011 · letzter Beitrag vom 20. Jul 2011
Antwort Antwort
Chris.R

Registriert seit: 8. Sep 2009
Ort: Nürnberg
68 Beiträge
 
Delphi 2010 Professional
 
#1

ShellExecute mehrere Dateien als Parameter übergeben

  Alt 20. Jul 2011, 15:27
Hallo alle zusammen,

ich hab ein kleines Problem, für das ich bisher keine Lösung gefunden hab.
Und zwar will ich ShellExecute aufrufen und mehrere Dateien auf einmal als Parameter übergeben.

Falls hier irgendjemand eine Idee hat, dann immer her damit...

Ciao Chris
Guten Morgen! … Und falls wir uns heute nicht mehr sehen, Guten Tag, Guten Abend und Gute Nacht!
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.163 Beiträge
 
Delphi 12 Athens
 
#2

AW: ShellExecute mehrere Dateien als Parameter übergeben

  Alt 20. Jul 2011, 16:13
Das ist wie überall, mit den Parametern, wenn ein Parameter z.B. Leerzeichen enthällt, dann muß er mit " maskiert werden.

Code:
"param 1" param2 "param 3" "param 4"
Also jeweils " davor und dahinter.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#3

AW: ShellExecute mehrere Dateien als Parameter übergeben

  Alt 20. Jul 2011, 16:20
Nimmt denn das Programm überhaupt mehrere Dateien als Parameter an? Wenn nicht, wirst du da nichts machen können.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Bjoerk

Registriert seit: 28. Feb 2011
Ort: Mannheim
1.384 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: ShellExecute mehrere Dateien als Parameter übergeben

  Alt 20. Jul 2011, 16:22
Delphi-Quellcode:
// Habe ich in meiner Sammlung, verwende ich aber nicht.
// Probier' mal, ob's geht.

// Für ParamStr die einzelnen Parameter vermutlich in "QuoteChars".
// Ob das überhaupt geht, hängt vom auzuführenden Programm ab.
// Es gibt Programme, die das nicht mögen, die Delphi IDE/ BDS zum Beispiel.

procedure ExecuteWinFile(const FileName, ParamStr: string);
var
  sei: TShellExecuteInfo;
begin
  FillChar(sei, SizeOf(sei), 0);
  sei.cbSize:= SizeOf(sei);
  sei.lpFile:= PChar(FileName);
  sei.lpParameters:= PChar(ParamStr);
  // sei.lpVerb:= 'runas';
  sei.lpDirectory:= PChar(ExtractFilePath(FileName));
  sei.Wnd:= Application.Handle;
  sei.nShow:= SW_SHOWNORMAL;
  if not ShellExecuteEx (@sei) then RaiseLastOsError;
end;
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.163 Beiträge
 
Delphi 12 Athens
 
#5

AW: ShellExecute mehrere Dateien als Parameter übergeben

  Alt 20. Jul 2011, 21:07
@Bjoerk: Bei dem, was du MSDN-Library durchsuchenShellExecuteEx mitgibst ist nichts besonderes dabei (abgesehn von dem auskommentierten Runas, aber auch das sollte kein Problem darstellen).

Jedenfalls kann man sich die Arbeit auch schwerer machen, als es ein muß,
oder man nimmt hier ganz einfach das kleinere/einfachere MSDN-Library durchsuchenShellExecute.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Antwort Antwort


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 22:41 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