AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Algorithmen, Datenstrukturen und Klassendesign Delphi Delphi mit Verknüpfung eines Bilds öffnen - Pfad der Verknüpfung zurückgeben
Thema durchsuchen
Ansicht
Themen-Optionen

Delphi mit Verknüpfung eines Bilds öffnen - Pfad der Verknüpfung zurückgeben

Ein Thema von Brainbow · begonnen am 4. Feb 2016 · letzter Beitrag vom 5. Feb 2016
Antwort Antwort
Brainbow

Registriert seit: 4. Feb 2016
3 Beiträge
 
#1

Delphi mit Verknüpfung eines Bilds öffnen - Pfad der Verknüpfung zurückgeben

  Alt 4. Feb 2016, 20:40
Hallo,

Ich bin gerade dabei einen ImageViewer für Delphi zu programmieren.

Nun habe ich testweise aus verschiedenen Ordnern Bilder genommen und zu ihnen eine Verknüpfung in einem anderem Ordner erstellt.
Wenn ich nun eines dieser Verknüpfungen mit meiner Applikation öffne, benötige ich den Pfad, in dem die Verknüpfung geöffnet wurde
um auch Zugriff auf die anderen Verknüpfungen zu bekommen.

Ich habe es bereits mit ParamStr versucht, leider wird damit der tatsächliche Pfad zu dem Bild zurückgegeben.

Beispiel:
ich öffne Verknüpfung: C:\Sammelordner\Bild1.jpg.lnk
Ich bekomme als ParamStr: C:\Originalordner\Bild1.jpg (Zieldatei der Verknüpfung)
Allerding benötige ich: C:\Sammelordner\Bild1.jpg.lnk

Jemand ne Idee, wie ich den Pfad bekomme? Vielleicht gibt es dafür ja einen einfachen Befehl, aber habe bereits Google ohne Erfolg durchkämmt.


mfg
Brainbow
  Mit Zitat antworten Zitat
Benmik

Registriert seit: 11. Apr 2009
557 Beiträge
 
Delphi 12 Athens
 
#2

AW: Delphi mit Verknüpfung eines Bilds öffnen - Pfad der Verknüpfung zurückgeben

  Alt 4. Feb 2016, 21:24
Ich würde vorsichtig behaupten, dass dies unmöglich ist. Die Funktion windows.GetCommandLine enthält den kompletten ("raw") CommandString, und in dem ist die Verknüpfung nicht enthalten. Offenbar erfolgt eine Weiterleitung auf die tatsächliche Datei und dann erst die Zusammenstellung von ParamStr(). Da jedes Programm erst danach startet, kann in diesen Prozess auch nicht eingegriffen werden. Würde ich jetzt mal sagen.

Geändert von Benmik ( 4. Feb 2016 um 22:46 Uhr)
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.094 Beiträge
 
Delphi 12 Athens
 
#3

AW: Delphi mit Verknüpfung eines Bilds öffnen - Pfad der Verknüpfung zurückgeben

  Alt 5. Feb 2016, 07:53
Du ruft alsi mit einem 2. Parameter auf ?

Und holst den so in etwa ab ?
http://www.delphibasics.co.uk/RTL.asp?Name=paramstr Verstehe ich das richtig ?

Wenn du beim Aufruf meine.exe -Link C:\Ordner\bild.jp.lnk übergibst muss das doch genauso im ParamStr ankommen.
Das sind nur Texte.

Oder was is das Problem ?

Rollo
  Mit Zitat antworten Zitat
HolgerX

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

AW: Delphi mit Verknüpfung eines Bilds öffnen - Pfad der Verknüpfung zurückgeben

  Alt 5. Feb 2016, 09:17
Hmm..

Da gib es einen Unterschied:
Wenn Du auf einen Link im Explorer (und somit auch auf dem Desktop) doppelclick machst, dann löst der Explorer den Link auf und 'öffnet' die Datei mit dem zugeordneten Programm, wohlgemerkt mit dem richtigen Pfad und nicht mit der Link-Datei.

Wenn Du jedoch die Link-Datei von Hand auf ein Programm per Drag&Drop 'ziehst' dann wird der Dateiname mit Pfad der lnk-Datei an das Programm übergeben.

Währe ja auch blöd, wenn alle Programme, welche bei DoppelClick mit der Datei Starten, eventuell erstmal die Lnk-Datei parsen müssen , um die richtige Datei zu öffnen
  Mit Zitat antworten Zitat
Brainbow

Registriert seit: 4. Feb 2016
3 Beiträge
 
#5

AW: Delphi mit Verknüpfung eines Bilds öffnen - Pfad der Verknüpfung zurückgeben

  Alt 5. Feb 2016, 16:23
Hallo,

danke für die Antworten.

Schade. Ich hätte gerne mein Programm als Standard genommen, so dass ein Bild direkt per Doppelklick in dem Programm geöffnet wird.
Wenn der Explorer allerdings vor dem Öffnen einer Verknüpfung des Bildes bereits den Pfad auflöst und er mir damit nicht
im Code zur Verfügung steht, muss ich den Ansatz wohl ändern.

Die Idee mit dem Drag&Drop hört sich gut an oder ich lasse den Benutzer die Verknüpfung manuell im geöffneten Programm auswählen.
Damit wäre es leider umständlicher ein Bild zu öffnen, ich würde aber definitiv den Pfad zu den Verknüpfungen bekommen.


mfg
Brainbow
  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 06:19 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