【问题标题】:Get all directories within an Explorer Library获取资源管理器库中的所有目录
【发布时间】:2013-04-12 01:55:37
【问题描述】:

如何将所有库位置添加到“我的音乐”?

对于本示例,我已将这些目录添加到库中:

E:\My Music
E:\Mp3

我试过了:

Environment.GetFolderPath(Environment.SpecialFolder.MyMusic);

但它会返回:

C:\Users\MyUser\Music

【问题讨论】:

  • 如果只有两个文件夹,你可以手动一个一个添加目录吗?
  • 我有很多目录要添加到我的库位置,所以一个一个地添加它不是我的选择.. :)
  • 你已经完成了你的工作,但这里有一个很好的例子来说明它是如何完成的。 codeproject.com/Articles/143038/…
  • @MichaelPerrenoud 感谢您的回复,我会审查它。
  • 我不认为找到音乐库文件夹本身的路径就足够了?您可以使用SHGetKnownFolderPath function 并传递值FOLDERID_MusicLibrary 来做到这一点。比枚举所有添加到库中的文件夹要容易得多,对于大多数用途来说应该足够了。

标签: c#


【解决方案1】:

添加到 Media Player 的任何库都应最终位于 AppData 目录中。

Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + @"\Microsoft\Windows\Libraries\Music.library-ms"

也许这会有所帮助。

【讨论】:

    【解决方案2】:

    您是否正在尝试开发 Windows 应用商店应用程序?如果是,请按照here的建议尝试使用 Windows.Store 库

    MSDN:http://msdn.microsoft.com/it-it/library/windows/apps/windows.storage.knownfolders.musiclibrary

    【讨论】:

      【解决方案3】:

      我在另一个 StackOverflow 问题上做了类似的事情和 posted a full solution with code using Windows API Code Pack。在您的情况下,您会发现以下代码:

              ICollection<IKnownFolder> allSpecialFolders = Microsoft.WindowsAPICodePack.Shell.KnownFolders.All;
      

      然后遍历这些文件夹以找到符合您需要的文件夹:

          string fpath = "";
          // Iterate over each folder and find the one we want
          foreach ( var folder in allSpecialFolders )
          {
              if ( folder.ParsingName == foldername )
              {
                  // We now have access to the xml path
                  fpath = folder.Path;
              }
          }
      
          if ( fpath == "" )
              return null;
      
          var intFolders = GetLibraryInternalFolders(fpath);
      
          return intFolders.Folders.ToList();
      

      然后使用GetLibraryInternalFolders() 函数返回其中的多个文件夹。无论如何,请在另一个问题上查看我的完整代码解决方案。

      【讨论】:

        猜你喜欢
        • 2011-09-25
        • 1970-01-01
        • 2022-11-22
        • 2018-10-04
        • 1970-01-01
        • 2011-07-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多