C# - WPL2Link

Übersicht Andere Programmiersprachen Codearchiv & Module

Neue Antwort erstellen

 

CO2

ehemals "SirMO"

Betreff: C# - WPL2Link

BeitragSa, März 12, 2016 17:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,

hier mal ein kleiner Code, der aus den Musikdateien, die in einer Windows-Media-Player-Playlist gespeichert sind, Verknüpfungen erstellt. Wer es gebrauchen kann, bitte.

Code: [AUSKLAPPEN]
static void CreateLink(String shortcutDir, String shortcutName, String target)
        {
            String Path = System.IO.Path.Combine(shortcutDir, shortcutName + ".lnk");
            WshShellClass shell = new WshShellClass();
            WshShortcut shortcut = (WshShortcut)shell.CreateShortcut(Path);
            shortcut.TargetPath = target;

            shortcut.WorkingDirectory = System.IO.Path.GetDirectoryName(target);
            shortcut.Save();
        }

        static void ConvertWPL2Link(String WPLFile, String OutputDirectory)
        {
            if (WPLFile != "" && System.IO.File.Exists(WPLFile))
            {
                String Dir = Path.GetDirectoryName(WPLFile);

                DirectoryInfo di = Directory.CreateDirectory(Path.Combine(OutputDirectory, Path.GetFileName(WPLFile)));

                try
                {
                    StreamReader sr = new StreamReader(WPLFile);

                    while (!sr.EndOfStream)
                    {
                        String Line = sr.ReadLine().Trim();
                        if (Line.StartsWith("<media"))
                        {
                            String[] Splitted = Line.Split('\"');
                            if (Splitted.Length > 2)
                            {
                                String Music = Splitted[1];

                                CreateLink(di.FullName, Path.GetFileName(Music), Path.Combine(Dir, Music));
                            }
                        }
                    }

                    sr.Close();
                }
                catch (IOException)
                {
                    throw;
                }
            }
        }


Für die Ausführung benötigt ihr den Verweis auf "Windows Script Host Object Model" (Zu finden unter "COM"). Anschließend müsst ihr in den Verweis-Eigenschaften ("IWshRuntimeLibrary") die Eigenschaft "Interoptypen einbetten" auf "false" setzen. Das alles wird zum Erstellen der Verknüpfungen benötigt.
mfG, CO²

Sprachen: BlitzMax, C, C++, C#, Java
Hardware: Windows 7 Ultimate 64-Bit, AMX FX-6350 (6x3,9 GHz), 32 GB RAM, Nvidia GeForce GTX 750 Ti

Neue Antwort erstellen


Übersicht Andere Programmiersprachen Codearchiv & Module

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group