Edit

Share via


Environment.SpecialFolder Enum

Definition

Specifies enumerated constants used to retrieve directory paths to system special folders.

public: enum class Environment::SpecialFolder
public enum Environment.SpecialFolder
[System.Runtime.InteropServices.ComVisible(true)]
public enum Environment.SpecialFolder
type Environment.SpecialFolder = 
[<System.Runtime.InteropServices.ComVisible(true)>]
type Environment.SpecialFolder = 
Public Enum Environment.SpecialFolder
Inheritance
Environment.SpecialFolder
Attributes

Fields

Desktop 0

The logical Desktop rather than the physical file system location.

Programs 2

The directory that contains the user's program groups.

MyDocuments 5

The My Documents folder. This member is equivalent to Personal.

Personal 5

The directory that serves as a common repository for documents. This member is equivalent to MyDocuments.

Favorites 6

The directory that serves as a common repository for the user's favorite items.

Startup 7

The directory that corresponds to the user's Startup program group. The system starts these programs whenever a user logs on or starts Windows.

Recent 8

The directory that contains the user's most recently used documents.

SendTo 9

The directory that contains the Send To menu items.

StartMenu 11

The directory that contains the Start menu items.

MyMusic 13

The My Music folder.

MyVideos 14

The file system directory that serves as a repository for videos that belong to a user.

DesktopDirectory 16

The directory used to physically store file objects on the desktop. Do not confuse this directory with the desktop folder itself, which is a virtual folder.

MyComputer 17

The My Computer folder. When passed to the Environment.GetFolderPath method, the MyComputer enumeration member always yields the empty string ("") because no path is defined for the My Computer folder.

NetworkShortcuts 19

A file system directory that contains the link objects that may exist in the My Network Places virtual folder.

Fonts 20

A virtual folder that contains fonts.

Templates 21

The directory that serves as a common repository for document templates.

CommonStartMenu 22

The file system directory that contains the programs and folders that appear on the Start menu for all users.

CommonPrograms 23

A folder for components that are shared across applications.

CommonStartup 24

The file system directory that contains the programs that appear in the Startup folder for all users.

CommonDesktopDirectory 25

The file system directory that contains files and folders that appear on the desktop for all users.

ApplicationData 26

The directory that serves as a common repository for application-specific data for the current roaming user. A roaming user works on more than one computer on a network. A roaming user's profile is kept on a server on the network and is loaded onto a system when the user logs on.

PrinterShortcuts 27

The file system directory that contains the link objects that can exist in the Printers virtual folder.

LocalApplicationData 28

The directory that serves as a common repository for application-specific data that is used by the current, non-roaming user.

InternetCache 32

The directory that serves as a common repository for temporary Internet files.

Cookies 33

The directory that serves as a common repository for Internet cookies.

History 34

The directory that serves as a common repository for Internet history items.

CommonApplicationData 35

The directory that serves as a common repository for application-specific data that is used by all users.

Windows 36

The Windows directory or SYSROOT. This corresponds to the %windir% or %SYSTEMROOT% environment variables.

System 37

The System directory.

ProgramFiles 38

The program files directory.

In a non-x86 process, passing ProgramFiles to the GetFolderPath(Environment+SpecialFolder) method returns the path for non-x86 programs. To get the x86 program files directory in a non-x86 process, use the ProgramFilesX86 member.

MyPictures 39

The My Pictures folder.

UserProfile 40

The user's profile folder. Applications should not create files or folders at this level; they should put their data under the locations referred to by ApplicationData.

SystemX86 41

The Windows System folder.

ProgramFilesX86 42

The x86 Program Files folder.

CommonProgramFiles 43

The directory for components that are shared across applications.

To get the x86 common program files directory in a non-x86 process, use the ProgramFilesX86 member.

CommonProgramFilesX86 44

The Program Files folder.

CommonTemplates 45

The file system directory that contains the templates that are available to all users.

CommonDocuments 46

The file system directory that contains documents that are common to all users.

CommonAdminTools 47

The file system directory that contains administrative tools for all users of the computer.

AdminTools 48

The file system directory that is used to store administrative tools for an individual user. The Microsoft Management Console (MMC) will save customized consoles to this directory, and it will roam with the user.

CommonMusic 53

The file system directory that serves as a repository for music files common to all users.

CommonPictures 54

The file system directory that serves as a repository for image files common to all users.

CommonVideos 55

The file system directory that serves as a repository for video files common to all users.

Resources 56

The file system directory that contains resource data.

LocalizedResources 57

The file system directory that contains localized resource data.

58

This value is recognized in Windows Vista for backward compatibility, but the special folder itself is no longer used.

CDBurning 59

The file system directory that acts as a staging area for files waiting to be written to a CD.

Examples

The following example shows how to use Environment.SpecialFolder with the Environment.GetFolderPath method to get the System directory.

// Sample for the Environment::GetFolderPath method
using namespace System;
int main()
{
   Console::WriteLine();
   Console::WriteLine( "GetFolderPath: {0}", Environment::GetFolderPath( Environment::SpecialFolder::System ) );
}

/*
This example produces the following results:

GetFolderPath: C:\WINNT\System32
*/
// Sample for the Environment.GetFolderPath method
using System;

class Sample
{
    public static void Main()
    {
    Console.WriteLine();
    Console.WriteLine("GetFolderPath: {0}",
                 Environment.GetFolderPath(Environment.SpecialFolder.System));
    }
}
/*
This example produces the following results:

GetFolderPath: C:\WINNT\System32
*/
// Sample for the Environment.GetFolderPath method
open System

printfn $"\nGetFolderPath: {Environment.GetFolderPath Environment.SpecialFolder.System}"
            
// This example produces the following results:
//     GetFolderPath: C:\WINNT\System32
' Sample for the Environment.GetFolderPath method
Class Sample
   Public Shared Sub Main()
      Console.WriteLine()
      Console.WriteLine("GetFolderPath: {0}", Environment.GetFolderPath(Environment.SpecialFolder.System))
   End Sub
End Class
'
'This example produces the following results:
'
'GetFolderPath: C:\WINNT\System32
'

Remarks

The system special folders are folders such as Program Files, Programs, System, or Startup, which contain common information. Special folders are set by default by the system, or explicitly by the user, when installing a version of Windows.

The Environment.GetFolderPath method returns the locations associated with this enumeration. The locations of these folders can have different values on different operating systems, the user can change some of the locations, and the locations are localized.

For more information about special folders, see the KNOWNFOLDERID constants in the Windows documentation.

Applies to