const CSIDL_FONTS = &H14
Private Declare Function SHGetSpecialFolderLocation Lib "SHELL32.DLL" (ByVal hwndOwner As Long, ByVal nFolder As Long, pidl As ITEMIDLIST) As Long
Private Const MAX_PATH = 255
Private Type SHITEMID
    cb As Long
    abID As Byte
End TypePrivate Type ITEMIDLIST  'idl
    mkid As SHITEMID
End TypeDim idl As ITEMIDLIST
rtn& = SHGetSpecialFolderLocation(0&, iStyle, idl)

解决方案 »

  1.   

    错啦,应该是:
    rtn& = SHGetSpecialFolderLocation(0&, CSIDL_FONTS , idl) 
      

  2.   

    还有:#If UNICODE Then
        Private Declare Function SHGetPathFromIDList Lib "Shell32" Alias "SHGetPathFromIDListW" (ByVal pidl As Long, ByVal szPath As Long) As Long
    #Else
        Private Declare Function SHGetPathFromIDList Lib "Shell32" Alias "SHGetPathFromIDListA" (ByVal pidl As Long, ByVal szPath As String) As Long
    #End If   sPath$ = Space$(512)
       rtn& = SHGetPathFromIDList(ByVal pidl&, ByVal sPath$)