Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - .lnk-Datei:Link zu einer Datei oder einem Ordner?
fuggaz - Sa 13.12.08 00:56
Titel: .lnk-Datei:Link zu einer Datei oder einem Ordner?
Hey,
Für ShellListView muss ich bei .lnk-Dateien differenzieren zw. denen, die auf eine Datei verweisen, und solchen, die auf Ordner verlinken.
Ist eine Datei verlinkt, dann deaktiviere ich AutoNavigate, wenn es ein Ornder ist aktiviere ich es.
Kann mir jemand bitte sagen wie das geht?
(Leider klappt es nicht mit der Abfrage if[...].isFolders[...])
jaenicke - Sa 13.12.08 01:20
Eine Möglichkeit wäre das Ziel der Verknüpfung auszulesen und dann zu schauen ob das ein Ordner ist.
http://www.swissdelphicenter.ch/de/showcode.php?id=970
Ob direkt in der .lnk Datei gespeichert ist, worum es sich bei dem Ziel handelt, weiß ich nicht.
// EDIT:
Es scheint da Unterschiede zu geben, neben dem Arbeitsverzeichnis, das bei Verknüpfungen zu Ordnern normalerweise leer ist, sind auch andere Teile der Datei unterschiedlich. Ob das am Typ des Ziels liegt und wenn ja ob das auch so einfach via Interface auszulesen ist, weiß ich aber nicht.
fuggaz - Sa 13.12.08 01:45
Hey,
Danke!!
Damit klappt das.
Das Arbeitsverzeichnis, wie du sagtest, ist leer.
Das kann ich dann einfach auslesen :-)
jaenicke - Sa 13.12.08 02:23
So meinte ich das eigentlich nicht, denn das Arbeitsverzeichnis kann auch bei Dateien leer sein. Das ist es nur normalerweise nicht. Das war eigentlich nur als Ergebnis des Dateivergleichs gemeint. ;-)
Ich meinte mit dem ersten Satz, dass es am besten wäre mit DirectoryExists zu prüfen ob das Ziel der Verknüpfung als Verzeichnis existiert.
fuggaz - Sa 13.12.08 04:17
achso ok.
fuggaz - Sa 13.12.08 15:03
noch ein Problem:
Wie wandel ich
Quelltext
1:
| array[0..MAX_PATH] of Char; |
in
um?
Ich habe es schon mit einer Schleife versucht aber da wird anscheinend nichts ausgetauscht...
Quelltext
1: 2:
| for wordpos:=1 to length(ShellListView1.SelectedFolder.PathName) do LinkInfo.FullPathAndNameOfLinkFile[wordpos]:=ShellListView1.SelectedFolder.PathName[wordpos]; |
FullPathAndNameOfLinkFile ist danach leer und die String-Variable nicht.
Wie wandele ich das um?
fuggaz - Sa 13.12.08 15:24
Wunderbar! Das klappt :-)
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!