0

通常,我们可以使用这种方法来获取 My Documents 的路径:

Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)

但是,如果我的文档被重定向到另一个位置,如何获取真实路径?

4

2 回答 2

2

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

于 2013-11-06T03:14:28.803 回答
0

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

[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();
}
于 2013-11-06T02:31:55.223 回答