Re: Get Special folders
Posted: Sun Mar 28, 2004 7:29 pm
Sweet!high key wrote:I didn't find a code for special folders in André's CodeArchive, so I converted the example from the API-Guide:
Code: Select all
Declare.s GetSpecialfolder(CSIDL) #CSIDL_DESKTOP = 0 #CSIDL_PROGRAMS = 2 #CSIDL_CONTROLS = 3 #CSIDL_PRINTERS = 4 #CSIDL_PERSONAL = 5 #CSIDL_FAVORITES = 6 #CSIDL_STARTUP = 7 #CSIDL_RECENT = 8 #CSIDL_SENDTO = 9 #CSIDL_BITBUCKET = $A #CSIDL_STARTMENU = $B #CSIDL_DESKTOPDIRECTORY = $10 #CSIDL_DRIVES = $11 #CSIDL_NETWORK = $12 #CSIDL_NETHOOD = $13 #CSIDL_FONTS = $14 #CSIDL_TEMPLATES = $15 Structure shItemID cb.l abID.b EndStructure Structure ItemIDlist mkid.shItemID EndStructure a$= "Start menu folder: " + GetSpecialfolder(#CSIDL_STARTMENU) b$= "Favorites folder: " + GetSpecialfolder(#CSIDL_FAVORITES) c$= "Programs folder: " + GetSpecialfolder(#CSIDL_PROGRAMS) d$= "Desktop folder: " + GetSpecialfolder(#CSIDL_DESKTOP) e$= "Startup folder: " + GetSpecialfolder(#CSIDL_STARTUP) MessageRequester("Info",a$+Chr(13)+b$+Chr(13)+c$+Chr(13)+d$+chr$(13)+e$,0) Procedure.s GetSpecialfolder(CSIDL) r = SHGetSpecialFolderLocation_(0, CSIDL, @IDL.ITEMIDLIST) If r = #NOERROR Path$ = Space(512) r = SHGetPathFromIDList_(IDL\mkid\cb, Path$) folder$ = Trim(Path$) Else folder$="" EndIf ProcedureReturn folder$ EndProcedure
- np