Laden...

Verknüpfungen aus Quick-Launch-Beirich auslesen

Erstellt von sven88 vor 15 Jahren Letzter Beitrag vor 15 Jahren 1.305 Views
S
sven88 Themenstarter:in
29 Beiträge seit 2008
vor 15 Jahren
Verknüpfungen aus Quick-Launch-Beirich auslesen

Hallo,
kann mir villeicht einer mal einen Tipp geben, wie ich die Quick Launch auslesen kann und alle dort eingetragen Verknüpfungen anzeigen lassen kann auf einer Form.

Danke im Voraus.

W
49 Beiträge seit 2007
vor 15 Jahren

Hallo sven88,

ob es eventuell eine .NET-eigene Methode dafür gibt kann ich nicht sagen, aber ich würde mir einfach alle Verknüpfungen aus dem 'Quick Launch'-Verzeichniss (%appdata%\Microsoft\Internet Explorer\Quick Launch) holen und entsprechend weiterverarbeiten:


DirectoryInfo directoryInfo = new DirectoryInfo(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + @"\Microsoft\Internet Explorer\Quick Launch");
            FileInfo[] files = directoryInfo.GetFiles();
            foreach (FileInfo file in files)
            {
                // Verknüpfung behandeln
            }

MfG
Philip

S
sven88 Themenstarter:in
29 Beiträge seit 2008
vor 15 Jahren

Gut so weit komme ich auch noch, aber das sind ja alles Verknüpfungen und ich möchte gerne das Bild auch mit nehmen von der Verknüpfuing. Wie kann ich das denn ansprechen?

49.485 Beiträge seit 2005
vor 15 Jahren

Hallo sven88,

wie man Informationen aus Verknüpfungen ausliest wurde schon einige Male besprochen. Bitte benutze die Forumssuche (ein möglicher Suchbegriff ist shortcut.exe) und poste die besten Treffer hier. Vielen Dank!

herbivore

S
sven88 Themenstarter:in
29 Beiträge seit 2008
vor 15 Jahren

So habe mal folgende Funktion geschreiben:


 public string pfad(string ink)
        {
            string fileName = ink;
            string fPath = System.IO.Path.GetFullPath(fileName); 
            return fPath;
        }

Wenn ich dann einen openFiledialog benutze dann bekomme ich den Pfad:


private void button1_Click(object sender, EventArgs e)
        {
            openFileDialog1.ShowDialog();         
            textBox1.Text = pfad(openFileDialog1.FileName);
        }

aber wenn ich das benutze nicht:


DirectoryInfo directoryInfo = new DirectoryInfo(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + @"\Microsoft\Internet Explorer\Quick Launch");
            FileInfo[] files = directoryInfo.GetFiles();
            foreach (FileInfo file in files)
            {
                string test = file.FullName;
                listBox1.Items.Add(pfad(test));
            }

Jetzt frage ich mich wiso. Liegt das an dem openFileDialog oder an dem was ich geschreiben habe?

49.485 Beiträge seit 2005
vor 15 Jahren

Hallo sven88,

damit Path.GetFullPath funktioniert, muss Environment.CurrentDirectory richtig gesetzt sein. Das macht OpenFileDialog automatisch.

Ich verstehe aber nicht, warum du GetFullPath überhaupt benutzen willst, denn in FileInfo file sind ja schon alle Informationen (inkl. des vollständigen Pfads) enthalten. Schau einfach in die :rtfm: Doku.

herbivore

S
sven88 Themenstarter:in
29 Beiträge seit 2008
vor 15 Jahren

Den Pfad der Verknüpfung finde ich auch, aber nicht den Pfad der exe.

S
sven88 Themenstarter:in
29 Beiträge seit 2008
vor 15 Jahren

Das Zeil der Verknüpfung habe ich jetzt durch das abschneiden des ".lnk" ereicht. und lade die jetzt immer in ein menustrip rein bzw in ein untermenü. Jetzt noch eine weitere Frage: Wenn ich die da reinlade steht immer als Text und als Name das gleiche, aber als name wollte ich gerne dann den File.Name oder hier "Hallo". aber der zeicht mir immmer den Pfad an, kann man das ändern oder ist das bei denen so?


ToolStripMenuItem ss = new ToolStripMenuItem(test, null, MyItem_Click, "Hallo");