Hallo zusammen
Mein Programm, das auf dem Desktop liegt, benötigt die Interop.Shell32.
Ich erstelle eine Veknüpfung, dieser Code:
Spoiler anzeigen
Solange die .dll auf dem Desktop liegt, kann ich das Programm starten und es funktioniert alles wie es sollte.
Wenn ich sie aber verschiebe, dann geht nichts mehr.
Ich möchte sie irgendwo zu den anderen Windows dll's schmeissen.
Wie ändere ich den Pfad?
Mfg Dancger
Mein Programm, das auf dem Desktop liegt, benötigt die Interop.Shell32.
Ich erstelle eine Veknüpfung, dieser Code:
VB.NET-Quellcode
- Public Function CreateShortcut(ByVal sLinkFile As String, _
- ByVal sTargetFile As String, _
- Optional ByVal sArguments As String = "", _
- Optional ByVal sDescription As String = "", _
- Optional ByVal sWorkingDir As String = "") As Boolean
- Try
- Dim oShell As New Shell32.Shell
- Dim oFolder As Shell32.Folder
- Dim oLink As Shell32.ShellLinkObject
- ' Ordner und Dateinamen extrahieren
- Dim sPath As String = sLinkFile.Substring(0, sLinkFile.LastIndexOf("\"))
- Dim sFile As String = sLinkFile.Substring(sLinkFile.LastIndexOf("\") + 1)
- ' Wichtig! Link-Datei erstellen (0 Bytes)
- Dim F As Short = FreeFile()
- FileOpen(F, sLinkFile, OpenMode.Output)
- FileClose(F)
- oFolder = oShell.NameSpace(sPath)
- oLink = oFolder.Items.Item(sFile).GetLink
- ' Eigenschaften der Verknüpfung
- With oLink
- If sArguments.Length > 0 Then .Arguments = sArguments
- If sDescription.Length > 0 Then .Description = sDescription
- If sWorkingDir.Length > 0 Then .WorkingDirectory = sWorkingDir
- .Path = sTargetFile
- ' Verknüpfung speichern
- .Save()
- End With
- ' Objekte zerstören
- oLink = Nothing
- oFolder = Nothing
- oShell = Nothing
- Return True
- Catch ex As Exception
- ' Fehler! ggf. Link-Datei löschen, falls bereit erstellt
- If System.IO.File.Exists(sLinkFile) Then Kill(sLinkFile)
- Return False
- End Try
- End Function
Solange die .dll auf dem Desktop liegt, kann ich das Programm starten und es funktioniert alles wie es sollte.
Wenn ich sie aber verschiebe, dann geht nichts mehr.
Ich möchte sie irgendwo zu den anderen Windows dll's schmeissen.
Wie ändere ich den Pfad?
Mfg Dancger
MESS WITH THE BEST, DIE LIKE THE REST!