albertminrich
Goto Top

Commondialog.filename liefert pfad-ziel einer verknpüfung anstatt den pfad-dateiname der verknüpfung selbst?

Hallo,

Visual Basic 6
Mit folgendem Code öffne ich einen Speichern-Dialog.
CommonDialog1.initdir = "c:"  
CommonDialog1.Filter = "LNK Files (*.lnk)"  
CommonDialog1.ShowSave
VerknName = CommonDialog1.FileName
If Right(CommonDialog1.FileName, 4) <> ".lnk" Then VerknName = CommonDialog1.FileName & ".lnk"  


Gehe ich jetzt im Speichern-Dialog-Fenster z.B. in das Verzeichnis C:\test und gebe im Feld Dateinamen einen Namen ein, den es in dem Verzeichnis noch nicht gibt (z.B. test), steht in der Variable VerknName "C:\test\test". In der letzten Zeile, wird ggf. noch .lnk drangehängt. Soweit passt das alles.

Gibts aber im Verzeichnis c:\test bereits eine Verknüpfung test.lnk, welche z.B. auf "C:\windows\system32\notepad.exe" zeigt und ich wähle diese test.lnk im Speichern-Dialog-Fenster aus, steht in der Variable VerknName "C:\windows\system32\notepad.exe", was in der letzten Zeile noch erweitert wird auf "C:\windows\system32\notepad.exe.lnk". Das soll aber nicht sein. Es soll natürlich "C:\test\test.lnk" in der Variable stehen.


Nur zur Ergänzung, ich weiß nicht, ob das für das Problem noch relevant ist. Im weiteren Code wird erst die eigentliche lnk-Datei erstellt.
Set link = wshshell.Createshortcut(VerknName)
link.TargetPath = "C:\meinOrdner\meineexedatei.exe"  
link.WorkingDirectory = "C:\meinOrdner"  
link.save


Wie gehts richtig?
Danke
AlbMin

Content-Key: 245513

Url: https://administrator.de/contentid/245513

Printed on: April 19, 2024 at 11:04 o'clock

Member: colinardo
Solution colinardo Aug 05, 2014 updated at 13:34:25 (UTC)
Goto Top
Hallo AlbMin,
du hast den Filter für den Dialog nicht ganz korrekt angegeben - dieser muss die Dateierweiterung mit einer Pipe getrennt vom Text enthalten:
CommonDialog1.Filter = "Link Files (.lnk)|*.lnk"
Dann wird auch der eigentliche Pfad der Verknüpfung selber ausgegeben!

Visual Basic 6
das kannten noch unsere Vorfahren face-big-smile

Grüße Uwe
Member: AlbertMinrich
AlbertMinrich Aug 05, 2014 at 13:34:19 (UTC)
Goto Top
Zitat von @colinardo:

Hallo AlbMin,
du hast den Filter für den Dialog nicht ganz korrekt angegeben - dieser muss die Dateierweiterung mit einer Pipe getrennt vom
Text enthalten:
> CommonDialog1.Filter = "Link Files (.lnk)|*.lnk"
> 
Dann wird auch der eigentliche Pfad der Verknüpfung selber ausgegeben!

Super, das wars.
Merci und Gruß
AlbMin