C# 如何获取用户视频目录?

C# 如何获取用户视频目录?,c#,.net,winforms,C#,.net,Winforms,我试过这个: userVideosDirectory = Directory.GetParent(Environment.GetFolderPath (Environment.SpecialFolder.ApplicationData)).FullName + "\\Videos"; 但这给了我: C:\Users\username\AppData\Videos 但我没有目录AppData,只有: C:\Users\usern

我试过这个:

userVideosDirectory = Directory.GetParent(Environment.GetFolderPath
                                 (Environment.SpecialFolder.ApplicationData)).FullName + "\\Videos";
但这给了我:

C:\Users\username\AppData\Videos
但我没有目录AppData,只有:

C:\Users\username\Videos

如何在没有AppData的情况下获取视频目录?

您可以使用获取视频文件夹,并使用获取其实际路径

请注意,其中包含更多您可以获取的文件夹。

您尝试过这个吗

string path = System.Environment.GetFolderPath(Environment.SpecialFolder.MyVideos);
诸如此类:

int userVideosDirectory = (Directory.GetParent(Environment.GetFolderPath
                                  (Environment.SpecialFolder.ApplicationData)).FullName + "\\Videos").IndexOf(@"\AppData\");

if (userVideosDirectory != 0)
{
    string str = (Directory.GetParent(Environment.GetFolderPath
                      (Environment.SpecialFolder.ApplicationData)).FullName + "\\Videos").Remove(userVideosDirectory, @"\AppData".Length);
}

Environment.SpecialFolder.ApplicationData
为您提供AppData文件夹路径。@是否需要解释?我的方法比Patrick的有点棘手,但它做了该做的事。我会的。您可以更改Windows中任何特殊文件夹的位置。这意味着您不能依赖组合路径,如
ApplicationData
视频
。它可以是完全不同的东西,比如
D:\myvids
int userVideosDirectory = (Directory.GetParent(Environment.GetFolderPath
                                  (Environment.SpecialFolder.ApplicationData)).FullName + "\\Videos").IndexOf(@"\AppData\");

if (userVideosDirectory != 0)
{
    string str = (Directory.GetParent(Environment.GetFolderPath
                      (Environment.SpecialFolder.ApplicationData)).FullName + "\\Videos").Remove(userVideosDirectory, @"\AppData".Length);
}