AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

.GetSymLinkTarget

Ein Thema von Willie1 · begonnen am 8. Dez 2020 · letzter Beitrag vom 23. Dez 2020
Antwort Antwort
Seite 1 von 2  1 2      
Willie1

Registriert seit: 28. Mai 2008
667 Beiträge
 
Delphi 10.1 Berlin Starter
 
#1

.GetSymLinkTarget

  Alt 8. Dez 2020, 12:17
Hallo Leute, ich bin's schon wieder.
Das Ziel einer Verknüpfung ermitteln gab es schon oft hier. Aber jetzt gibt es doch die schöne neue Funktion TFile.GetSymLinkTarget . Die zweite überladene Version soll doch das Ziel der Verknüpfung im zweiten Parameter zurück liefern.
Delphi-Quellcode:
      s:=GetSourceFromLink(ONa + fName);
      if TFile.GetSymLinkTarget(ONa + fName, s) then beep;
Die erste 15 Jahre alte funktioniert die von Delphi liefert '' und false zurück. Was denke ich falsch.
Gruß Willie.
Gut hören kann ich schlecht, schlecht sehen kann ich gut - Ersteres stimmt nicht, das zweite schon.
  Mit Zitat antworten Zitat
Willie1

Registriert seit: 28. Mai 2008
667 Beiträge
 
Delphi 10.1 Berlin Starter
 
#2

AW: .GetSymLinkTarget

  Alt 20. Dez 2020, 18:31
Hallo Freunde*innen, ich höre nichts von euch. Ich habe es gerade nochmal ausprobiert, es wird immer ein leerer String zurück gegeben. Ich verstehe doch richtig?
Es handelt sich um eine Datei mit der Endung .lnk, die auf eine andere Datei verweist. Diese Funktion soll Pfad und Name der Zieldatei zurück geben.
Entweder verstehe ich etwas gründlich falsch oder Embarcadero hat Mist gebaut.
Willie.
Gut hören kann ich schlecht, schlecht sehen kann ich gut - Ersteres stimmt nicht, das zweite schon.
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.508 Beiträge
 
Delphi 7 Professional
 
#3

AW: .GetSymLinkTarget

  Alt 20. Dez 2020, 19:11
Ein symbolischer Link ist aber keine Linkdatei, wie z. B. die Verknüpfungen auf dem Desktop, im Startmenü ...

Verknüpfung <> symbolischer Link

https://www.windowspage.de/tipps/021555.html
  Mit Zitat antworten Zitat
Benutzerbild von Dalai
Dalai

Registriert seit: 9. Apr 2006
1.682 Beiträge
 
Delphi 5 Professional
 
#4

AW: .GetSymLinkTarget

  Alt 20. Dez 2020, 19:51
Nur als Ergänzung: Verknüpfungen (.lnk Dateien) gibt's schon seit Windows 95, Symlinks erst seit Windows Vista (Hardlinks und Junctions hingegen schon seit Win2k).

Informationen über Verknüpfungen bekommt man über das MSDN-Library durchsuchenIShellLink interface. Neuere Delphis haben möglicherweise schon fertige Funktionen dafür.

Grüße
Dalai
  Mit Zitat antworten Zitat
Willie1

Registriert seit: 28. Mai 2008
667 Beiträge
 
Delphi 10.1 Berlin Starter
 
#5

AW: .GetSymLinkTarget

  Alt 21. Dez 2020, 19:44
Danke, das wusste ich nicht. Mir geht es um lnk. Dateien. Willie.
Gut hören kann ich schlecht, schlecht sehen kann ich gut - Ersteres stimmt nicht, das zweite schon.
  Mit Zitat antworten Zitat
Willie1

Registriert seit: 28. Mai 2008
667 Beiträge
 
Delphi 10.1 Berlin Starter
 
#6

AW: .GetSymLinkTarget

  Alt 22. Dez 2020, 19:17
SymLinks habe ich noch NIE benötigt. Eure Hinweise sind trotzdem interessant aber ich will das Thema so schnell wie möglich beenden!
Nur wie werde ich den SymLink wieder los?
In der Console steht: DIR ...
Datum <SymLink> Test [Testlink]

Wenn ich rmdir Test eingebe, kommt "Verzeichnisname ist ungültig."
Gut hören kann ich schlecht, schlecht sehen kann ich gut - Ersteres stimmt nicht, das zweite schon.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: .GetSymLinkTarget

  Alt 22. Dez 2020, 19:31
DEL

Zeigt der Synlink denn auf ein Verzeichnis?


PS: Es steht alles in der Hilfe.
https://docs.microsoft.com/de-de/win...ommands/mklink
$2B or not $2B
  Mit Zitat antworten Zitat
Benutzerbild von Dalai
Dalai

Registriert seit: 9. Apr 2006
1.682 Beiträge
 
Delphi 5 Professional
 
#8

AW: .GetSymLinkTarget

  Alt 22. Dez 2020, 19:32
Versuch mal
Code:
del symlink
Letztlich ist ein Symlink auch nur eine (spezielle) Datei. Vermutlich geht das Löschen inzwischen auch per Explorer. Das war früher anders und das Ziel des Links wurde entsorgt (mit einem ordentlichen Dateimanager passiert sowas nicht ).

Grüße
Dalai
  Mit Zitat antworten Zitat
Willie1

Registriert seit: 28. Mai 2008
667 Beiträge
 
Delphi 10.1 Berlin Starter
 
#9

AW: .GetSymLinkTarget

  Alt 23. Dez 2020, 17:08
Hallo, da ist ein Thema völlig an mir vorbei gegangen, eben weil ich es nicht brauchte. Jetzt habe ich es mit eurer Hilfe verstanden. Geht das nicht auch teilweise mit dem alten Subst aus MS-DOS Zeiten?
Ich war ja auf dieses Thema gekommen, weil ich eine Dateiliste mit TDirectory.GetFiles ermittelten Link-Dateien noch ihrem Ziel zuordnen muss.
Gibt es denn eine eingebaute Funktion GetLinkTarget?
Willie.
Gut hören kann ich schlecht, schlecht sehen kann ich gut - Ersteres stimmt nicht, das zweite schon.
  Mit Zitat antworten Zitat
Benutzerbild von Dalai
Dalai

Registriert seit: 9. Apr 2006
1.682 Beiträge
 
Delphi 5 Professional
 
#10

AW: .GetSymLinkTarget

  Alt 23. Dez 2020, 19:35
Geht das nicht auch teilweise mit dem alten Subst aus MS-DOS Zeiten?
Subst ist nochmal etwas anderes. Dabei wird ein neues (virtuelles) Laufwerk erzeugt, das auf einen bestimmten Pfad zeigt. Sowas verwenden einige Leute gern, um einen kurzen Weg in einen (über)langen Pfade zu bekommen. Symlinks haben zum Teil einen ähnlichen Zweck, unterscheiden sich dann aber doch von gesubsteten Pfaden, weil sie z.B. relativ sein können (subst geht nur mit absoluten Pfaden), kein Laufwerk erzeugen etc.

Zitat:
Gibt es denn eine eingebaute Funktion GetLinkTarget?
Keine Ahnung, ob Delphi fertige Funktionen um das IShellLink interface hat. Such einfach mal hier im Forum oder im Internet, ob das der Fall ist. Wenn nicht, findet sich dabei mit Sicherheit benutzbarer Code oder gar ganze Units. Ich kann mich erinnern, Units/Klassen um IShellLink gesehen zu haben, als ich vor einigen Jahren selber mit dem Thema zu tun hatte (und meine eigene Klasse bastelte).

Grüße
Dalai
  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 02:50 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