[This is preliminary documentation and subject to change.]
Requirement (Designed for Microsoft® Windows® Logo)
Your application should not assume that directory names such as "My Computer" will be in English or will be unchanged by the user. Your application should query the registry directly to obtain the proper language-specific directory names.
Vendors should be aware that English versions of their applications might be installed onto non-English versions of Windows. In this instance, a search for the English language directory string "Program Files" would not be successful and would result in a failed installation.
For many standard folders, a qualified path can be obtained by calling the SHGetSpecialFolderLocation function with the appropriate CSIDL constant. The following standard folders are accessible in this way.
Standard Folder | CSIDL Constant Name | Hex |
---|---|---|
Alternate Startup folder (All Users profile, DBCS) |
|
|
Alternate Startup ([user], DBCS) |
|
|
Application Data ([user] profile) |
|
|
Control Panel virtual folder |
|
|
Cookies folder |
|
|
Desktop (namespace root) |
|
|
Desktop folder (All Users profile) |
|
|
Desktop folder ([user] profile) |
|
|
Favorites folder (All Users profile) |
|
|
Favorites folder ([user] profile) |
|
|
Fonts virtual folder |
|
|
History folder |
|
|
Internet Cache folder |
|
|
Internet virtual folder |
|
|
My Computer virtual folder |
|
|
Network Neighborhood root |
|
|
Network Neighborhood directory |
|
|
Personal folder ([user] profile) |
|
|
Printers virtual folder |
|
|
PrintHood folder ([user] profile) |
|
|
Programs folder (under Start menu in All Users profile) |
|
|
Programs folder (under Start menu in [user] profile) |
|
|
Recent folder ([user] profile) |
|
|
Recycle Bin folder |
|
|
SendTo folder ([user] profile) |
|
|
Start menu (All Users profile) |
|
|
Start menu ([user] profile) |
|
|
Startup folder (All Users profile) |
|
|
Startup folder ([user] profile) |
|
|
Templates folder ([user] profile) |
|
|
Folders can also be located using the following Windows NT environment variables.
Standard Folder or Location | Environment Variable |
---|---|
System drive | %SystemDrive% |
System root directory | %SystemRoot% |
Windows folder | %windir% |
Program Files folder | %ProgramFiles% |
User's profile folder | %UserProfile% |
User's temporary folder | %Temp% |
Access to specific user profile folders, such as Application Data, should be obtained through SHGetSpecialFolderLocation rather than by relying on the standard English folder name (as in %UserProfile%\Application Data\).