Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Shellexucte - String mitgeben (https://www.delphipraxis.net/13157-shellexucte-string-mitgeben.html)

dinu_ch 12. Dez 2003 08:36


Shellexucte - String mitgeben
 
Ich habe eine variable die heisst filename, ist ein String und sieht so aus (Inkl. Hochkommas):

'c:\test.txt'

Nun möchte ich den String im Shellexecute-Kommando einbetten.

Schreibe ich direkt rein :

Delphi-Quellcode:
ShellExecute(Application.Handle, 'open', 'c:\test.txt', nil, nil, SW_SHOW);
So wird das File geöffnet, geht auch mit .jpg etc.

Wie kann ich die Variable in den Befehl einbetten ?

Mit

Delphi-Quellcode:
ShellExecute(Application.Handle, 'open', filename, nil, nil, SW_SHOW)
gibts inkompatible Type, setze ich ein PChar davor :

Delphi-Quellcode:
ShellExecute(Application.Handle, 'open', PChar(filename), nil, nil, SW_SHOW);
so passiert nichts. Wer kann mir helfen ?

himitsu 12. Dez 2003 09:02

Re: Shellexucte - String mitgeben
 
Ein Hallöle von http://www.FrankNStein.de/Smiley-Wolke.gif,

Zitat:

Zitat von ^^
ShellExecute(FensterHandle, Operation/Befehl, Dateiname, Parameter, Arbeitsverzeichnis, AnzeigeKomando);

Also sollte es dann so ausseh'n:
Delphi-Quellcode:
Var filename: String;

filename := 'c:\test.txt';
ShellExecute(Application.Handle, 'open', PChar(filename), nil, PChar(ExtractFilePath(filename)), SW_SHOW);
Normaler Weise sollten aber deine Varianten auch gehen.

Hast du vieleicht Leerzeichen oder so in Dateiamen/Verzeichnis ?

[edit] (hatte das erste mal was falsch gelesen)

http://www.delphipraxis.net/images/common/divider.jpg
http://www.FrankNStein.de/Smiley-Kuss.gif http://www.FrankNStein.de/Smiley-Spinne.gif http://www.FrankNStein.de/Smiley-Winken.gif


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:59 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz