Функция SHGetSpecialFolderPath

Declare Function SHGetSpecialFolderPath Lib "shell32" Alias "SHGetSpecialFolderPathA" (ByVal hwndOwner As Long, ByVal lpszPath As String, ByVal nFolder As Long, ByVal fCreate As Long) As Long
SHGetSpecialFolderPath получает имя специальных папок системы (только физических, но не виртуальных)

Возвращаемое значение

В случае ошибки функция возвращает 0. В успешном случае функция возвращает значение отличное от нуля

Параметры

hwndOwner
Дескриптор окна, вызывающей функцию
lpszPath
Строка с завершающим нулевым символом, содержащая путь специальной папки
nIndex
CSIDL специальной папки
fCreate
Если 0, то не создавать специальной папки, если она не существует. В других случаях создавать ее, если она еще не существует

Пример

' Показать путь папки Избранное
Dim pathname As String  ' имя папки
Dim retval As Long  ' возвращаемое значение

' Создадим буфер для приема строки
pathname = Space(260)
' Получим имя пути специальной папки
retval = SHGetSpecialFolderPath(Form1.hWnd, pathname, CSIDL_FAVORITES, 0)
' Удалим пробелы
pathname = Left(pathname, InStr(pathname, vbNullChar) - 1)
' Выводим результат
Debug.Print "Имя папки Избранное: "; pathname

Смотри также

SHGetFolderPath, SHGetSpecialFolderLocation

Категория

Оболочка