Hy mk-soft,
danke für den Hinweis, betrifft mich aber nicht, da der Server ein Intranet Server mit Berechtigungsschiene ist. Derweil kan man den Server nur über den IE Explorer ansteuern und Dateien öffnen. Für ein Excel-Programm ist aber notwendig, auch direkt aus Excel entsprechende Dateien auf den Server auswählen zu können, damit diese weiter verarbeitet werden können.
Da du dich mit dem Thema auch schon beschäftigt hast, vielleicht kannst du mir eine Frage beantworten: Wenn ich eine Verknüpfung erstelle, wird diese ja wieder automatisch hergestellt, wenn ich den Computer hochfahren und mich mit meiner Anmeldung anmelde. Sobald sich ein andere an diesen Computer mit einer anderen Anmeldung anmeldet hat er diese Verknüpfung natürlich nicht. Was mich aber überrascht ist, das wenn ich mich mit meiner Anmeldung an einem anderen Netzwerkrechner anmelde, ich dort die Verknüpfungen aber auch nicht angezeigt bekomme. Meine verbundenen Netzlaufwerke kriege ich ganz normal angezeigt.
---
Mir ist noch etwas aufgefallen:
Der Code von "ts-soft" and "uweb" enthält noch einen kleinen Denkfehler bzw. eine Problem. Man kann derzeit keine erstelle Verknüpfung in der gleichen Programminstanz wieder löschen. Das liegt daran, das der mit SetCurrentDirectory gesetzte Pfad die weitere Verarbeitung stört. Daher sollte man vor dem Erstellen den aktuellen Pfad ermitteln und ihn nachher wieder setzen. Hier die geänderte Procedure:
Code: Alles auswählen
Procedure CreateFolderShortcut(ShortcutName.s,Shortcut.s,Description.s,SpecialFolder=#CSIDL_NETHOOD)
SpecialPath.s=GetSpecialeFolder(SpecialFolder)+ShortcutName.s
AP.s=GetCurrentDirectory()
If CreateDirectory(SpecialPath.s)
SetCurrentDirectory(SpecialPath.s)
CreateShortcut(Shortcut.s,SpecialPath.s+"\target.lnk","","",0,Description.s,0,"",0)
CreatePreferences("Desktop.ini")
PreferenceGroup(".ShellClassInfo")
WritePreferenceString("CLSID2","{0AFACED1-E828-11D1-9187-B532F1E9575D}")
WritePreferenceString("Flags","2")
WritePreferenceString("ConfirmFileOp","1")
ClosePreferences()
SetFileAttributes("Desktop.ini",#PB_FileSystem_System|#PB_FileSystem_Hidden)
SetFileAttributes(SpecialPath.s,#PB_FileSystem_ReadOnly)
SetCurrentDirectory(AP.s)
EndIf
EndProcedure