Older Newer
Sun, 16 Mar 2014 19:08:21 . . . . SyneRyder [Added a few of the most useful CSIDL values]

Changes by last author:

= getSpecialFolder =

== Syntax ==

:int getSpecialFolder(int CSIDL, string path)

== Arguments ==


:: A CSIDL (Constant Special Item ID List) value that identifies the folder of interest. A full list of CSIDL values can be found at http://msdn2.microsoft.com/en-us/library/bb762494.aspx


::The string where the folder path result will be stored

== Return ==

:Returns true if the operation was successful, false otherwise

== Description ==

:Retrieves the path of a Windows "Special Folder", such as the user's Desktop or My Documents folder. This function is useful for locating the folders where a program can save its data, particularly on systems newer than Windows Vista.


:Some useful CSIDL Values:

: CSIDL_APPDATA - Hidden folder for application data specific to that user. Use for things like INI files that the user shouldn't edit.

: CSIDL_COMMON_APPDATA - A hidden application data folder shared with all users of a computer. Use this for settings/data that are the same for all users of the computer.

: CSIDL_COMMON_PICTURES - A public folder of pictures shared by all users on the computer

: CSIDL_COMMON_DOCUMENTS - Like the My Documents folder, but shared with all users.

: CSIDL_DESKTOPDIRECTORY - The user's Desktop folder.

: CSIDL_MYPICTURES - The user's My Pictures folder.

: CSIDL_PERSONAL - The user's My Documents folder.

== Example ==


OnFilterStart: {

bool errOK;

errOK = getSpecialFolder( CSIDL_COMMON_APPDATA , str8);

if (errOK == true) msgBox(MB_OK, "Hello", str8);

return true;



== Also see ==

:mkdir, rmdir

== Comments ==

:Everyone can add his comments about his experiences with this function here. Tips for using it are welcome, too.