| In order to get My Videos folder, you need to call SHGetSpecialFolderPath(). But I recommend you to use below wrapper for easy control. function GetSpecialFolderPath(Folder: Integer; CanCreate: Boolean): string;
// Gets path of special system folders
//
// Call this routine as follows:
// GetSpecialFolderPath (CSIDL_PERSONAL, false)
// returns folder as result
//
var
FilePath: array [0..255] of char;
begin
SHGetSpecialFolderPath(0, @FilePath[0], FOLDER, CanCreate);
Result := FilePath;
end;
What you want is simply 'My Videos' folder, you can get it as below way. m_directory.Text := GetSpecialFolderPath(CSIDL_MYVIDEO, True);
In case that you need to get other special folders like My Musics, My Pictures, or something like that, below information will be helpful for you. CSIDL_DESKTOP = $0000; { <desktop> }
CSIDL_INTERNET = $0001; { Internet Explorer (icon on desktop) }
CSIDL_PROGRAMS = $0002; { Start MenuPrograms }
CSIDL_CONTROLS = $0003; { My ComputerControl Panel }
CSIDL_PRINTERS = $0004; { My ComputerPrinters }
CSIDL_PERSONAL = $0005; { My Documents. This is equivalent to CSIDL_MYDOCUMENTS in XP and above }
CSIDL_FAVORITES = $0006; { <user name>Favorites }
CSIDL_STARTUP = $0007; { Start MenuProgramsStartup }
CSIDL_RECENT = $0008; { <user name>Recent }
CSIDL_SENDTO = $0009; { <user name>SendTo }
CSIDL_BITBUCKET = $000a; { <desktop>Recycle Bin }
CSIDL_STARTMENU = $000b; { <user name>Start Menu }
CSIDL_MYDOCUMENTS = $000c; { logical "My Documents" desktop icon }
CSIDL_MYMUSIC = $000d; { "My Music" folder }
CSIDL_MYVIDEO = $000e; { "My Video" folder }
CSIDL_DESKTOPDIRECTORY = $0010; { <user name>Desktop }
CSIDL_DRIVES = $0011; { My Computer }
CSIDL_NETWORK = $0012; { Network Neighborhood (My Network Places) }
CSIDL_NETHOOD = $0013; { <user name> ethood }
CSIDL_FONTS = $0014; { windowsfonts }
CSIDL_TEMPLATES = $0015;
CSIDL_COMMON_STARTMENU = $0016; { All UsersStart Menu }
CSIDL_COMMON_PROGRAMS = $0017; { All UsersStart MenuPrograms }
CSIDL_COMMON_STARTUP = $0018; { All UsersStartup }
CSIDL_COMMON_DESKTOPDIRECTORY = $0019; { All UsersDesktop }
CSIDL_APPDATA = $001a; { <user name>Application Data }
CSIDL_PRINTHOOD = $001b; { <user name>PrintHood }
CSIDL_LOCAL_APPDATA = $001c; { <user name>Local SettingsApplication Data (non roaming) }
CSIDL_ALTSTARTUP = $001d; { non localized startup }
CSIDL_COMMON_ALTSTARTUP = $001e; { non localized common startup }
CSIDL_COMMON_FAVORITES = $001f;
CSIDL_INTERNET_CACHE = $0020;
CSIDL_COOKIES = $0021;
CSIDL_HISTORY = $0022;
CSIDL_COMMON_APPDATA = $0023; { All UsersApplication Data }
CSIDL_WINDOWS = $0024; { GetWindowsDirectory() }
CSIDL_SYSTEM = $0025; { GetSystemDirectory() }
CSIDL_PROGRAM_FILES = $0026; { C:Program Files }
CSIDL_MYPICTURES = $0027; { C:Program FilesMy Pictures }
CSIDL_PROFILE = $0028; { USERPROFILE }
CSIDL_SYSTEMX86 = $0029; { x86 system directory on RISC }
CSIDL_PROGRAM_FILESX86 = $002a; { x86 C:Program Files on RISC }
CSIDL_PROGRAM_FILES_COMMON = $002b; { C:Program FilesCommon }
CSIDL_PROGRAM_FILES_COMMONX86 = $002c; { x86 C:Program FilesCommon on RISC }
CSIDL_COMMON_TEMPLATES = $002d; { All UsersTemplates }
CSIDL_COMMON_DOCUMENTS = $002e; { All UsersDocuments }
CSIDL_COMMON_ADMINTOOLS = $002f; { All UsersStart MenuProgramsAdministrative Tools }
CSIDL_ADMINTOOLS = $0030; { <user name>Start MenuProgramsAdministrative Tools }
CSIDL_CONNECTIONS = $0031; { Network and Dial-up Connections }
CSIDL_COMMON_MUSIC = $0035; { All UsersMy Music }
CSIDL_COMMON_PICTURES = $0036; { All UsersMy Pictures }
CSIDL_COMMON_VIDEO = $0037; { All UsersMy Video }
CSIDL_RESOURCES = $0038; { Resource Directory }
CSIDL_RESOURCES_LOCALIZED = $0039; { Localized Resource Directory }
CSIDL_COMMON_OEM_LINKS = $003a; { Links to All Users OEM specific apps }
CSIDL_CDBURN_AREA = $003b; { USERPROFILELocal SettingsApplication DataMicrosoftCD Burning }
CSIDL_COMPUTERSNEARME = $003d; { Computers Near Me (computered from Workgroup membership) }
CSIDL_PROFILES = $003e;
|