Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Dateiverknüpfungen erstellen
jeanfischer
myCSharp.de - Member



Dabei seit:
Beiträge: 39
Herkunft: Hamburg

Themenstarter:

Dateiverknüpfungen erstellen

beantworten | zitieren | melden

Hallo zusammen,

ich möchte gerne mithilfe von C# Verknüpfungen von Dateien erstellen. Warum? Ganz einfach:
Ich benutze eine Anwendung, der man über die Eigenschaft "Ziel" im Reiter "Verknüpfungen" Attrribute übergeben kann. Da das ganze ziemlich kryptisch ist, hätte ich gern ein kleines Tool geschrieben, dass die Komplette Erstellung des Links (*.lnk Datei) übernimmt.
Wie kann man aber so einen Link erzeugen? Ich habe leider so weit nur Bsp. für VB gefunden, konnte die aber nicht auf C# ummünzen.

Vielen Dank für eure Hilfe!
jeanfischer
private Nachricht | Beiträge des Benutzers
zero_x
myCSharp.de - Member

Avatar #avatar-2567.gif


Dabei seit:
Beiträge: 1.044
Herkunft: Koblenz

beantworten | zitieren | melden

Hallo jeanfischer,

mittels File.Create-Methode ist das möglich. Dazu musst du eine Datei erstellen mit den Dateinamen, Dateiformat und das Format .lnk am Ende. Hier ein Beispiel:
Zitat
MeineDatei.exe.lnk
würde eine Verknüfung zu einer anderen Datei erstellen. Weitere Informationen kannst du mittels C# und der File-Klasse hinzufügen oder mit Verwendung der API.

zero_x
zero_x | myCSharp.de - gemeinsam mehr erreichen

Für längere Zeit inaktiv.
private Nachricht | Beiträge des Benutzers
Th69
myCSharp.de - Experte

Avatar #avatar-2578.jpg


Dabei seit:
Beiträge: 4.355

beantworten | zitieren | melden

zero_x, so einfach ist das dann doch nicht...

Unter http://www.msjogren.net/dotnet/eng/samples/dotnet_shelllink.asp gibt es eine Implementation sowohl für vb.net als auch für C# (shelllink.zip runterladen), welche direkt auf der IShellLink-Schnittstelle aufbaut.
private Nachricht | Beiträge des Benutzers
trib
myCSharp.de - Member



Dabei seit:
Beiträge: 690

beantworten | zitieren | melden

Für diese Geschichte nutze ich die Interop.IWshRuntimeLibrary.dll
Damit ist es ebenfalls in ein paar Zeilen möglich eine Verknüpfung zu erstellen.

WShell shell = new WShell();
                        WShort link = (WShort)shell.CreateShortcut(SpecialDirectories.Desktop + "\\Visual Studio.lnk");
                        link.TargetPath = @"C:\Programme\Microsoft Visual Studio 8\Common7\IDE\devenv.exe";
                        link.Save();

Tada! Nun hast du eine VS Verknüpfung
private Nachricht | Beiträge des Benutzers
jeanfischer
myCSharp.de - Member



Dabei seit:
Beiträge: 39
Herkunft: Hamburg

Themenstarter:

beantworten | zitieren | melden

Hallo zusammen,

vielen Dank für die Link. Mit dessen Hilfe habe ich es geschafft. Es ist aber nicht leicht zu verstehen für Anfänger. Daher meine Empfehlung für unerfahrene, lasst die Finger von einer solchen Idee. Alle anderen sollte das mal machen, man lernt doch eine Menge! Ist eine schöne Fingerübung. Ich habe allerdings darauf verzichtet allen neu zu schreiben und einfach die Beispieldateien includiert.

jeanfischer
private Nachricht | Beiträge des Benutzers