如何从c#中找到"共享文档"文件夹的路径?

Nes*_*tor 2 c# directory windows-vista windows-7

在Windows Vista中,特殊文件夹"共享文档"包含计算机中所有用户均可访问的文档.该文件夹在Windows 7中重命名为"公共文档".

如何从c#中找到它的物理路径?

请注意,Environment.GetFolderPath(Environment.SpecialFolder.xxx)没有我正在寻找的文件夹.

Luk*_*keH 8

SpecialFolder枚举已经有了较大,姗姗来迟,在.NET 4更新-新增加的一个是CommonDocuments成员.


Gra*_*ton 5

那这个呢?

[DllImport("shell32.dll")]
static extern int SHGetFolderPath(IntPtr hwndOwner, int nFolder, IntPtr hToken,
   uint dwFlags, [Out] StringBuilder pszPath);

public string GetCommonDocumentsFolder()
{
    int SIDL_COMMON_DOCUMENTS = 0x002e;
    StringBuilder sb = new StringBuilder();
    SHGetFolderPath(IntPtr.Zero,SIDL_COMMON_DOCUMENTS,IntPtr.Zero,0x0000,sb);
    return SB.ToString();
}
Run Code Online (Sandbox Code Playgroud)

回答礼貌,呃......,我们都喜欢讨厌的专家交流.