Autor Beitrag
schitho
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 288

XP Home SP2
D2005 Prof
BeitragVerfasst: Mo 20.10.03 23:24 
Hi,

über die Registry hab ich mein Programm im Kontexmenü des Explorers ergänzt.
Sobald also mit der rechten Maustaste auf eine Datei im Explorer geklickt wird, öffnet sich das Kontextmenü in dem auch mein Programm aufscheint.
Wird dieses im Menü angeklickt, dann wird (normalerweise) der Pfad der Datei übergeben.
Nur bei Verknüpfungen (.lnk) wird statt dem Pfad auf die Verknüpfung der Pfad zur eigentlichen Datei geliefert.

Beispiel:
Am Desktop gibt es eine Verknüpfung zur Datei Test.doc im Ordner c:\tmp.
Meinem Programm wird beim anklicken der Verknüpfung nun aber nicht Test.lnk sondern c:\tmp\Test.doc übergeben.

Kann man dies irgendwie verhindern?

_________________
(Sorry! Leider ewiger Delphi-Neuling)
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 21.10.03 07:57 
Zu deinem Beispiel: Das ist ja auch korrekt, da die lnk-Datei auf Test.doc zeigt. Oder was willst du mit der lnk-Datei in deinem Porgramm?
schitho Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 288

XP Home SP2
D2005 Prof
BeitragVerfasst: Di 21.10.03 10:00 
Mein Programm ist ein einfacher Shredder. Wenn ich nur die Verknüpfung shreddern möchte geht das aber nicht. (OK! Man kann darüber streiten wozu man überhaupt die Verknüpfung shreddern sollte).

Es besteht halt einfach die Gefahr, dass man irrtümlich statt der Verknüpfung das eigentliche Programm löscht.

Wenn ich über Löschen das Symbol anwähle, wird ja auch nur die Verknüpfung und nicht das eigentliche Programm gelöscht.

Gibt es eine Möglichkeit, wie ich doch den Pfad zur Verknüpfung bekomme?

Gruß
Thomas

_________________
(Sorry! Leider ewiger Delphi-Neuling)
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 21.10.03 16:04 
Du suchst an der falschen Stelle. :roll: Du mußt dort suchen, wo die lnk-Datei physisch auf der Festplatte ist. Und die ist da, wo das Startmenü gespeichert ist. Unte NT ff.: x:\Dokumente und einstellungen\Benutzer\Startmenü und das gleiche noch mal unter All Users
schitho Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 288

XP Home SP2
D2005 Prof
BeitragVerfasst: Di 21.10.03 21:59 
Hallo Luckie,

ich fürchte Du hast mein Problem falsch verstanden.

Ich hab folgendes gemeint:

Wenn ich ein Symbol mit der rechten Maustaste anklicke und dann mit der linken Maustaste mein Programm im Kontextmenü auswähle, wird mein Programm gestartet und als Parameter der Pfad der ausgewählten Datei übergeben.

Nur bei den*.lnk Dateien (also bei den Verknüpfungen) eerhalte ich nicht den Pfad zu der lnk-Datei, sondern den Pfad mit dem die lnk-Datei verknüpft ist.

Ich hätte aber gerne auch bei den Verknüpfungen den Pfad der lnk-Datei und nicht den der verknüpften Datei.

Ich hoffe das war halbwegs verständlich. :roll:

Gruß
Thomas

_________________
(Sorry! Leider ewiger Delphi-Neuling)
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 21.10.03 23:25 
Nun ja, verständlich? Nicht unbedingt.

Du klickst also eien lnk-Datei mit der rechten Maustaste an, wählst dein Programm aus und dann bekommst du nicht als Parameter die lnk-Datei sondern die Datei auf die die lnk-Datei zeigt? ist das soweit richtig?
schitho Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 288

XP Home SP2
D2005 Prof
BeitragVerfasst: Di 21.10.03 23:36 
Ja! Genau so hab ich es gemeint.

_________________
(Sorry! Leider ewiger Delphi-Neuling)