Если вы работаете с Windows Mobile в версии 7 (Windows Phon), проверьте это:
Код C #:
public static string GetFolderPath(SpecialFolder folder)
{
//buffer to fill with path
StringBuilder path = new StringBuilder(MaxPath);
//pass stringbuilder and folder identifier to api function
if(!Convert.ToBoolean(SHGetSpecialFolderPath(IntPtr.Zero,
path, (int)folder, 0)))
{
throw new Exception("Cannot get folder path!");
}
return path.ToString();
}
[DllImport("coredll", EntryPoint="SHGetSpecialFolderPath",
SetLastError=false)]
internal static extern int SHGetSpecialFolderPath(IntPtr hwndOwner,
StringBuilder lpszPath, int nFolder, int fCreate);
Код VB.net:
Public Shared Function GetFolderPath(folder As SpecialFolder) As String
'buffer to fill with path
Dim path As New StringBuilder(MaxPath)
'pass stringbuilder and folder identifier to api function
If Not Convert.ToBoolean(SHGetSpecialFolderPath(IntPtr.Zero, path, CInt(folder), 0)) Then
Throw New Exception("Cannot get folder path!")
End If
Return path.ToString()
End Function
<DllImport("coredll", EntryPoint := "SHGetSpecialFolderPath", SetLastError := False)> _
Friend Shared Function SHGetSpecialFolderPath(hwndOwner As IntPtr, lpszPath As StringBuilder, nFolder As Integer, fCreate As Integer) As Integer
End Function
Вы должны Import System.Environment
, чтобы увидеть специальную папку
Import System.Runtime.InteropServices
чтобы увидеть DllImport
Для деталей: http://msdn.microsoft.com/en-us/library/aa446567.aspx#spfiles_topic_03
Пожалуйста, если это работает, пометьте мой ответ как Справа