Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
List of recent files
Message
General information
Forum:
Windows
Category:
Other
Miscellaneous
Thread ID:
01505725
Message ID:
01505729
Views:
41
#DEFINE CSIDL_RECENT 0x0008

DECLARE SHORT SHGetFolderPath IN shell32;
    INTEGER hwndOwner, INTEGER nFolder,;
    INTEGER hToken, INTEGER dwFlags,;
    STRING @pszPath

DisplaySFPath(CSIDL_RECENT)

PROCEDURE DisplaySFPath( nCSIDL )
#DEFINE MAX_PATH 260
#DEFINE SHGFP_TYPE_CURRENT 0 && returns current path
#DEFINE SHGFP_TYPE_DEFAULT 1 && returns default path
#DEFINE CSIDL_FLAG_PER_USER_INIT 0x0800
#DEFINE CSIDL_FLAG_NO_ALIAS 0x1000
#DEFINE CSIDL_FLAG_DONT_VERIFY 0x4000
#DEFINE CSIDL_FLAG_CREATE 0x8000
#DEFINE CSIDL_FLAG_MASK 0xff00
 
    LOCAL nFlag, nToken, cBuffer, nResult, cPath0, cPath1
    STORE "" To cPath0, cPath1
 
    nFlag = BitOr(nCSIDL, CSIDL_FLAG_PER_USER_INIT)
*    nToken = -1 && default user
    nToken = 0 && current user
 
    cBuffer = Repli(Chr(0), MAX_PATH)
    IF SHGetFolderPath(0, nFlag, nToken,;
        SHGFP_TYPE_CURRENT, @cBuffer) = 0
        cPath0 = STRTRAN(cBuffer, Chr(0), "")
    ENDIF
 
    cBuffer = Repli(Chr(0), MAX_PATH)
    IF SHGetFolderPath(0, nFlag, nToken,;
        SHGFP_TYPE_DEFAULT, @cBuffer) = 0
        cPath1 = STRTRAN(cBuffer, Chr(0), "")
    ENDIF
 
	? 'Current:', cPath0
	? 'Default:', cPath1
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform