AGB  ·  Datenschutz  ·  Impressum  







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

ShellExecute Problem mit zweitem Parameter

Ein Thema von markus5766h · begonnen am 7. Jan 2017 · letzter Beitrag vom 7. Jan 2017
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von markus5766h
markus5766h

Registriert seit: 5. Mär 2009
Ort: Hamburg
569 Beiträge
 
Delphi XE8 Professional
 
#1

ShellExecute Problem mit zweitem Parameter

  Alt 7. Jan 2017, 12:11
Moin zusammen.

Ich habe derzeit einige Probleme mit ShellExexcute :

1)
Code:
procedure TfrmMain.OpenMedia(Media: String);
var
  n : Integer;
  sFile : String;
  err : Integer;
begin
  err := 63;
  err := ShellExecute(Handle, 'open', PChar(Media), nil, nil, SW_SHOWNORMAL);
  if err <= 32  then ShowMessage(ShellExecuteErrMsg(err));
end;
obige Prozedur läuft ohne Probleme, Datei wird mit der dazugehörigen Anwendung geöffnet.

2)
Code:
procedure TfrmMain.OpenMediaWithApplication(Media, Application: String);
var
  n : Integer;
  sFile : String;
  err : Integer;
begin
  err := 63;
  err := ShellExecute(Handle, 'open', PChar(Application), PChar(Media), nil, SW_SHOWNORMAL);
  if err <= 32  then ShowMessage(ShellExecuteErrMsg(err));
  ShowMessage(IntToStr(err)); // <--- Rückgabewert ist 42
end;
Media :
M:\DB_MED\MediaFiles\Video\Incognito_JapanTour2012 .avi

übergebe ich die Anwendung, mit der die Datei (Media) geöffnet werden soll im ersten Parameter
und den Dateinamen im zweiten Parameter, bekomm' ich einen Rückgabewert von 42 (kein Fehler),
der Dateiname des zweiten Parameters scheint aber bei der Anwendung nicht anzukommen:
bsp. MediaPlayer oder VLC MediaPlayer --> beide können die Datei nicht öffnen, lt. Fehlermeldung
weist die Datei eine unbekannte Fehlermeldung auf (ist aber *.avi, mehrfach kontrolliert).
Media ist die gleiche Datei wie auch in der ersten Prozedur benutzt.

Weiß jemand Rat ?

BS : Win10 und Win7, beide 64Bit, gleiches Ergebnis.
Markus H.

Geändert von markus5766h ( 7. Jan 2017 um 13:01 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von juergen
juergen

Registriert seit: 10. Jan 2005
Ort: Bönen
1.175 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: ShellExecute Problem mit zweitem Parameter

  Alt 7. Jan 2017, 12:21
Hallo,

ich hatte auch mal ein Problem mit ShellExexcute() wo bestimmte Dateien nicht aufgerufen wurden. Nachdem ich den Dateinamen in Anführungszeichen gesetzt hatte habe ich das Problem nicht mehr.
PChar('"' + Media + '"') Ob das jetzt dein Problem löst vermag ich nicht zu sagen, da ich auch nicht weiß was genau sich hinter
Zitat:
Media
verbirgt.
Jürgen
Indes sie forschten, röntgten, filmten, funkten, entstand von selbst die köstlichste Erfindung: der Umweg als die kürzeste Verbindung zwischen zwei Punkten. (Erich Kästner)
  Mit Zitat antworten Zitat
Benutzerbild von markus5766h
markus5766h

Registriert seit: 5. Mär 2009
Ort: Hamburg
569 Beiträge
 
Delphi XE8 Professional
 
#3

AW: ShellExecute Problem mit zweitem Parameter

  Alt 7. Jan 2017, 12:26
@ juergen,

danke, das war's . . .
vielleicht weiß ja noch jemand den Hintergrund . . .
Markus H.
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#4

AW: ShellExecute Problem mit zweitem Parameter

  Alt 7. Jan 2017, 12:34
Parameter werden durch Leerzeichen getrennt. Enthält ein Dateiname Leerzeichen, so wird er wie entsprechend viele Parameter behandelt.

Dateinamen mit Leerzeichen muss man in Hochkommata setzen. Das ist eigentlich der Fall, seit dem Windows bei Dateinamen mehr als 8.3 zulässt. (War das Windows 95 bzw. Windows NT?)
  Mit Zitat antworten Zitat
Benutzerbild von markus5766h
markus5766h

Registriert seit: 5. Mär 2009
Ort: Hamburg
569 Beiträge
 
Delphi XE8 Professional
 
#5

AW: ShellExecute Problem mit zweitem Parameter

  Alt 7. Jan 2017, 12:46
... daran hab' ich auch schon gedacht, und Leerzeichen durch Unterstriche ersetzt, das Ergebnis war allerdings das Gleiche,
und Unterstriche sind meines Wissens in Dateinamen erlaubt . . .
Markus H.
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#6

AW: ShellExecute Problem mit zweitem Parameter

  Alt 7. Jan 2017, 12:56
Zeig' doch bitte mal den konkreten Inhalt von Media, so kann man doch nur spekulieren.
  Mit Zitat antworten Zitat
Benutzerbild von markus5766h
markus5766h

Registriert seit: 5. Mär 2009
Ort: Hamburg
569 Beiträge
 
Delphi XE8 Professional
 
#7

AW: ShellExecute Problem mit zweitem Parameter

  Alt 7. Jan 2017, 13:02
Media-Inhalt (ein Beispiel) im ersten Post
Markus H.
  Mit Zitat antworten Zitat
t.roller
(Gast)

n/a Beiträge
 
#8

AW: ShellExecute Problem mit zweitem Parameter

  Alt 7. Jan 2017, 13:17
In
M:\DB_MED\MediaFiles\Video\Incognito_JapanTour2012 .avi
ist ein SPACE vorhanden.
  Mit Zitat antworten Zitat
Benutzerbild von markus5766h
markus5766h

Registriert seit: 5. Mär 2009
Ort: Hamburg
569 Beiträge
 
Delphi XE8 Professional
 
#9

AW: ShellExecute Problem mit zweitem Parameter

  Alt 7. Jan 2017, 13:27
In
M:\DB_MED\MediaFiles\Video\Incognito_JapanTour2012 .avi
ist ein SPACE vorhanden.
o.k., entdeckt, danke, dann erklärt sich das . . .
Markus H.
  Mit Zitat antworten Zitat
HolgerX

Registriert seit: 10. Apr 2006
Ort: Leverkusen
972 Beiträge
 
Delphi 6 Professional
 
#10

AW: ShellExecute Problem mit zweitem Parameter

  Alt 7. Jan 2017, 15:04
Hmm..

Moin zusammen.

Media :
M:\DB_MED\MediaFiles\Video\Incognito_JapanTour2012 .avi
Ist da zwischen 'JapanTour2012' und '.avi' ein Leerzeichen dazwischen?
Dann ist der Fehler gefunden...
  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 13:37 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