Folder Locations
Certain folders have special meanings for the shell. An application can use
shell functions to retrieve the locations of these special folders and to enable
the user to browse for specific folders.
Some special folders are
virtual folders so called because they are not actual directories on any storage device,
local or remote. Virtual folders like the desktop folder, the My Computer folder,
and the Network Neighborhood folder make a unified namespace possible by serving
as containers for any number of storage devices and network resources. Other
virtual folders contain file objects, such as printers, that are not part of the
file system.
File system directories that the shell uses for specific purposes are also
considered special folders. Examples include the Programs folder (which contains
the user's program groups) and the desktop directory (which is used to
physically store files that have been copied to the desktop folder). The locations of
special file system folders are stored in the registry under the
HKEY_CURRENT_USER / Software / Microsoft / Windows / CurrentVersion / Explorer / Shell Folders key.
You can use the
SHGetSpecialFolderLocation function to retrieve the location of a special folder, which can be virtual
or part of the file system. The function returns a PIDL, which the application
must eventually free using the shell's allocator. If the folder is part of the
file system, you can convert the PIDL to a file system path by using the
SHGetPathFromIDList function. For a list of special folders, see the description of the
SHGetSpecialFolderLocation function.
To display a dialog box that enables the user to browse for a folder, you can
use the
SHBrowseForFolder function. An application might use this function to prompt the user for a
directory or remote computer. This function can also be used to browse for network
printers, even though printers are not considered folders. An application can
specify the root folder to browse from. For example, to prompt the user for a
program group, you might call
SHBrowseForFolder specifying the PIDL for the Programs folder as the root.
- Software for developers
-
Delphi Components
.Net Components
Software for Android Developers
- More information resources
-
MegaDetailed.Net
Unix Manual Pages
Delphi Examples
- Databases for Amazon shops developers
-
Amazon Categories Database
Browse Nodes Database