Feedback

C# - Verknüpfung erstellen

Veröffentlicht von am 1/3/2013
(1 Bewertungen)
Mit diesen par Zeilen Code kann man eine Verknüpfung zu einer beliebigen Datei an einem beliebigen Ort erstellen.

Es muss ein Verweis zu Windows Script Host Object Model erstellt werden.

Koopakiller schrieb am:  03.01.2013 16:22:35

Kleiner Hinweis:
Für den Verweis zum "Windows Script Host Object Model"
(IWshRuntimeLibrqary) muss in den Eigenschaften "Interop-
Typen einbetten" auf False gestellt werden, da sonst
teilweise unerklärliche Fehler auftreten. Außerdem kann es
passieren das die benötigte Datei auf einigen Computern
nicht existiert (keine Ahnung warum, habe es nur schon
selbst erlebt) Darum vorsichtshalber "Lokale Kopie" in den
Eigenschaften auf True stellen.

(Steht auch in den Kommentaren. Danke an Koopakiller für den Hinweis.)

Zum Auslesen von Verknüpfungen: http://dotnet-snippets.de/dns/verknuepfungs-inhalt-auslesen-SID1654.aspx

Ähnlich dem VB-Artikel von Volker Steiz (http://dotnet-snippets.de/dns/function-zur-erstellung-eines-shortcuts-SID417.aspx)

Alternativ mit meiner Mini-Klasse unter https://dl.dropbox.com/s/4kvcw4ti75thqpv/Link.cs?dl=1
using IWshRuntimeLibary;

text = "Test";
source = "D:\Musik\Test.mp3";
path = "C:\Users\Max Mustermann\Desktop\";

WshShell shell = new WshShell();
IWshShortcut link = (IWshShortcut)shell.CreateShortcut(path + text + ".lnk");
link.TargetPath = source;
link.Save();

//Alternativ:
//Hinzufügen der link.cs

Shortcut.Create(text, source, path);

// Achtung: Die Shortcut.Create - Mathode hängt die .lnk-Endung automatisch an!

2 Kommentare zum Snippet

Koopakiller schrieb am 1/3/2013:
Kleiner Hinweis:
Für den Verweis zum "Windows Script Host Object Model" (IWshRuntimeLibrqary) muss in den Eigenschaften "Interop-Typen einbetten" auf False gestellt werden, da sonst teilweise unerklärliche Fehler auftreten. Außerdem kann es passieren das die benötigte Datei auf einigen Computern nicht existiert (keine Ahnung warum, habe es nur schon selbst erlebt) Darum vorsichtshalber "Lokale Kopie" in den Eigenschaften auf True stellen.
Ansonsten schönes Snippet ;)
dariusarnold schrieb am 1/4/2013:
Danke...
1. Für die positive Bewertung
2. Für den Hinweis... Ich werds obern mit einfügen, falls sich einer zu fein ist, die Kommentare zulesen

:D
 

Logge dich ein, um hier zu kommentieren!