C# 如何获取文档的真实路径

C# 如何获取文档的真实路径,c#,C#,通常,我们可以使用此方法获取我的文档的路径: Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) 但是,如果我的文档被重定向到另一个位置,如何获得真正的路径?试试这个(未经测试),尽管如此,你发布的内容无论如何都应该有效,只是为了给你另一个选择: [DllImport("shfolder.dll", CharSet=CharSet.Auto)] internal static extern int SHGetFold

通常,我们可以使用此方法获取我的文档的路径:

Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)
但是,如果我的文档被重定向到另一个位置,如何获得真正的路径?

试试这个(未经测试),尽管如此,你发布的内容无论如何都应该有效,只是为了给你另一个选择:

[DllImport("shfolder.dll", CharSet=CharSet.Auto)]
internal static extern int SHGetFolderPath(IntPtr hwndOwner, int nFolder,
IntPtr hToken, int dwFlags, System.Text.StringBuilder lpszPath);
[STAThread]

static void Main(string[] args)
{
     StringBuilder path = new StringBuilder(260);
     SHGetFolderPath(IntPtr.Zero, 5, IntPtr.Zero, 0, path);
     Console.WriteLine(path);
     Console.Read();
}

这就是Environment.GetFolderPath的整个点,如果文件夹被重定向,它将指向重定向的位置。

这在任何情况下都应该有效。