我正在使用.NET 2.0。我注意到,对于常见的桌面和常见的“开始”菜单文件夹似乎没有Environment.SpecialFolder成员。
我希望使用一种不涉及加载shell32.dll和使用SHGetSpecialFolderPath的方法
最佳答案
我使用P/Invoke ... 0x19对应于Common Desktop枚举,0x16对应于Common Start Menu
public static string GetCommonDesktopFolder()
{
var sb = new StringBuilder(260);
SHGetFolderPath(IntPtr.Zero, 0x19, IntPtr.Zero, 0, sb); // CSIDL_COMMON_DESKTOPDIRECTORY
return sb.ToString();
}
[DllImport("shell32.dll")]
private static extern int SHGetFolderPath(
IntPtr hwndOwner, int nFolder, IntPtr hToken,
uint dwFlags, StringBuilder pszPath);
}
关于c# - 我如何获得C#中常见的桌面和开始菜单目录的路径?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2090036/