116 desktop_directory = 16,
120 network_shortcuts = 19,
126 common_start_menu = 22,
128 common_programs = 23,
132 common_desktop_directory = 25,
134 application_data = 26,
136 printer_shortcuts = 27,
138 local_application_data = 28,
146 common_application_data = 35,
160 program_files_x86 = 42,
162 common_program_files = 43,
164 common_program_files_x86 = 44,
166 common_templates = 45,
168 common_documents = 46,
170 common_admin_tools = 47,
176 common_pictures = 54,
182 localized_resources = 57,
184 common_oem_links = 58,
197 do_not_verify = 16384,
321 static void exit(
int exit_code) {::_Exit(exit_code);}
331 size_t index = buffer.
index_of(
'%');
332 while (index != xtd::ustring::npos && buffer.
index_of(
'%', index + 1) != xtd::ustring::npos) {
334 buffer = buffer.
remove(0, index + 1);
336 if (get_environment_variable(buffer.
substring(0, index)) !=
"")
337 result += get_environment_variable(buffer.
substring(0, index));
340 buffer = buffer.
remove(0, index + 1);
367 template <
class Char,
class Traits>
368 static std::basic_ostream<Char, Traits>&
new_line(std::basic_ostream<Char, Traits>& os) {
369 os.put(os.widen(
'\n'));
393 set_environment_variable(variable, value, environment_variable_target::process);
446 inline std::ostream& operator<<(std::ostream& os,
environment::special_folder value) {
return os <<
to_string(value, {{
environment::special_folder::desktop,
"desktop"}, {
environment::special_folder::programs,
"programs"}, {
environment::special_folder::my_documents,
"my_documents"}, {
environment::special_folder::personal,
"personal"}, {
environment::special_folder::favorites,
"favorites"}, {
environment::special_folder::startup,
"startup"}, {
environment::special_folder::recent,
"recent"}, {
environment::special_folder::send_to,
"send_to"}, {
environment::special_folder::start_menu,
"start_menu"}, {
environment::special_folder::personal,
"my_music"}, {
environment::special_folder::my_videos,
"my_videos"}, {
environment::special_folder::desktop_directory,
"desktop_directory"}, {
environment::special_folder::my_computer,
"my_computer"}, {
environment::special_folder::network_shortcuts,
"network_shortcuts"}, {
environment::special_folder::fonts,
"fonts"}, {
environment::special_folder::templates,
"templates"}, {
environment::special_folder::common_start_menu,
"common_start_menu"}, {
environment::special_folder::common_programs,
"common_programs"}, {
environment::special_folder::common_startup,
"common_startup"}, {
environment::special_folder::common_desktop_directory,
"common_desktop_directory"}, {
environment::special_folder::application_data,
"application_data"}, {
environment::special_folder::printer_shortcuts,
"printer_shortcuts"}, {
environment::special_folder::local_application_data,
"local_application_data"}, {
environment::special_folder::internet_cache,
"internet_cache"}, {
environment::special_folder::cookies,
"cookies"}, {
environment::special_folder::history,
"history"}, {
environment::special_folder::common_application_data,
"common_application_data"}, {
environment::special_folder::windows,
"windows"}, {
environment::special_folder::system,
"system"}, {
environment::special_folder::program_files,
"program_files"}, {
environment::special_folder::my_pictures,
"my_pictures"}, {
environment::special_folder::user_profile,
"user_profile"}, {
environment::special_folder::system_x86,
"system_x86"}, {
environment::special_folder::program_files_x86,
"program_files_x86"}, {
environment::special_folder::common_program_files,
"common_program_files"}, {
environment::special_folder::common_program_files_x86,
"common_program_files_x86"}, {
environment::special_folder::common_templates,
"common_templates"}, {
environment::special_folder::common_documents,
"common_documents"}, {
environment::special_folder::common_admin_tools,
"common_admin_tools"}, {
environment::special_folder::admin_tools,
"admin_tools"}, {
environment::special_folder::common_music,
"common_music"}, {
environment::special_folder::common_pictures,
"common_pictures"}, {
environment::special_folder::common_videos,
"common_videos"}, {
environment::special_folder::resources,
"resources"}, {
environment::special_folder::localized_resources,
"localized_resources"}, {
environment::special_folder::common_oem_links,
"common_oem_links"}, {
environment::special_folder::cd_burning,
"cd_burning"}, {
environment::special_folder::home,
"home"}});}
447 inline std::wostream& operator<<(std::wostream& os,
environment::special_folder value) {
return os <<
to_string(value, {{
environment::special_folder::desktop, L
"desktop"}, {
environment::special_folder::programs, L
"programs"}, {
environment::special_folder::my_documents, L
"my_documents"}, {
environment::special_folder::personal, L
"personal"}, {
environment::special_folder::favorites, L
"favorites"}, {
environment::special_folder::startup, L
"startup"}, {
environment::special_folder::recent, L
"recent"}, {
environment::special_folder::send_to, L
"send_to"}, {
environment::special_folder::start_menu, L
"start_menu"}, {
environment::special_folder::personal, L
"my_music"}, {
environment::special_folder::my_videos, L
"my_videos"}, {
environment::special_folder::desktop_directory, L
"desktop_directory"}, {
environment::special_folder::my_computer, L
"my_computer"}, {
environment::special_folder::network_shortcuts, L
"network_shortcuts"}, {
environment::special_folder::fonts, L
"fonts"}, {
environment::special_folder::templates, L
"templates"}, {
environment::special_folder::common_start_menu, L
"common_start_menu"}, {
environment::special_folder::common_programs, L
"common_programs"}, {
environment::special_folder::common_startup, L
"common_startup"}, {
environment::special_folder::common_desktop_directory, L
"common_desktop_directory"}, {
environment::special_folder::application_data, L
"application_data"}, {
environment::special_folder::printer_shortcuts, L
"printer_shortcuts"}, {
environment::special_folder::local_application_data, L
"local_application_data"}, {
environment::special_folder::internet_cache, L
"internet_cache"}, {
environment::special_folder::cookies, L
"cookies"}, {
environment::special_folder::history, L
"history"}, {
environment::special_folder::common_application_data, L
"common_application_data"}, {
environment::special_folder::windows, L
"windows"}, {
environment::special_folder::system, L
"system"}, {
environment::special_folder::program_files, L
"program_files"}, {
environment::special_folder::my_pictures, L
"my_pictures"}, {
environment::special_folder::user_profile, L
"user_profile"}, {
environment::special_folder::system_x86, L
"system_x86"}, {
environment::special_folder::program_files_x86, L
"program_files_x86"}, {
environment::special_folder::common_program_files, L
"common_program_files"}, {
environment::special_folder::common_program_files_x86, L
"common_program_files_x86"}, {
environment::special_folder::common_templates, L
"common_templates"}, {
environment::special_folder::common_documents, L
"common_documents"}, {
environment::special_folder::common_admin_tools, L
"common_admin_tools"}, {
environment::special_folder::admin_tools, L
"admin_tools"}, {
environment::special_folder::common_music, L
"common_music"}, {
environment::special_folder::common_pictures, L
"common_pictures"}, {
environment::special_folder::common_videos, L
"common_videos"}, {
environment::special_folder::resources, L
"resources"}, {
environment::special_folder::localized_resources, L
"localized_resources"}, {
environment::special_folder::common_oem_links, L
"common_oem_links"}, {
environment::special_folder::cd_burning, L
"cd_burning"}, {
environment::special_folder::home, L
"home"}});}
Contains xtd::argument_exception exception.
Represents information about c++ libraries, such as the version and standard identifier....
Definition compiler.h:23
Represents information about c++ libraries, such as the version and language identifier....
Definition cpp_language.h:24
Represents a stack trace, which is an ordered collection of one or more stack frames.
Definition stack_trace.h:32
xtd::ustring to_string() const noexcept
Builds a readable representation of the stack trace.
The environment class.
Definition environment.h:33
static std::thread::id current_thread_id()
Gets a unique identifier for the current thread.
Definition environment.h:234
static std::chrono::milliseconds tick_count()
Gets the number of milliseconds elapsed since the system started.
static xtd::cpp_language cpp_version()
Gets an cpp_standard object that contains the current c++ standard identifier and version number.
Definition environment.h:218
static xtd::ustring get_folder_path(environment::special_folder folder)
Gets the path to the system special folder that is identified by the specified enumeration.
Definition environment.h:301
static void exit_code(int value)
Sets the exit code of the process.
static xtd::ustring user_domain_name()
Gets the network domain name associated with the current user.
static void set_environment_variable(const xtd::ustring &variable, const xtd::ustring &value, environment_variable_target target)
Creates, modifies, or deletes an environment variable stored in the current process or in the Windows...
static bool is_64_bit_operating_system()
Determines whether the current operating system is a 64-bit operating system.
Definition environment.h:349
static xtd::ustring machine_name()
Gets the NetBIOS name of this local computer.
special_folder
Specifies enumerated constants used to retrieve directory paths to system special folders.
Definition environment.h:92
@ common_startup
The file system directory that contains the programs that appear in the Startup folder for all users....
@ personal
The directory that serves as a common repository for documents. This member is equivalent to MyDocume...
@ printer_shortcuts
The file system directory that contains the link objects that can exist in the Printers virtual folde...
@ windows
The Windows directory or SYSROOT. This corresponds to the windir% or SYSTEMROOT% environment variable...
@ home
The file system directory that contains home folder.
@ local_application_data
The directory that serves as a common repository for application-specific data that is used by the cu...
@ my_computer
The My Computer folder. The MyComputer constant always yields the empty string ("") because no path i...
@ user_profile
The user's profile folder. Applications should not create files or folders at this level; they should...
@ common_application_data
The directory that serves as a common repository for application-specific data that is used by all us...
@ localized_resources
The file system directory that contains localized resource data.
@ common_program_files
The directory for components that are shared across applications.To get the x86 common program files ...
@ program_files
The program files directory.On a non-x86 system, passing ProgramFiles to the GetFolderPath method ret...
@ history
The directory that serves as a common repository for Internet history items.
@ common_videos
The file system directory that serves as a repository for video files common to all users.
@ common_admin_tools
The file system directory that contains administrative tools for all users of the computer.
@ programs
The directory that contains the user's program groups.
@ system
The System directory.
@ resources
The file system directory that contains resource data.
@ cookies
The directory that serves as a common repository for Internet cookies.
@ admin_tools
The file system directory that is used to store administrative tools for an individual user....
@ common_desktop_directory
The file system directory that contains files and folders that appear on the desktop for all users....
@ common_start_menu
The file system directory that contains the programs and folders that appear on the Start menu for al...
@ common_pictures
The file system directory that serves as a repository for image files common to all users.
@ desktop_directory
The directory used to physically store file objects on the desktop. Do not confuse this directory wit...
@ common_programs
A folder for components that are shared across applications. This special folder is valid only for Wi...
@ recent
The directory that contains the user's most recently used documents.
@ common_music
The file system directory that serves as a repository for music files common to all users.
@ my_pictures
The My Pictures folder.
@ fonts
A virtual folder that contains fonts.
@ system_x86
The Windows System folder.
@ start_menu
The directory that contains the Start menu items.
@ my_documents
The My Documents folder. This member is equivalent to Personal.
@ common_program_files_x86
The Program Files folder.
@ favorites
The directory that serves as a common repository for the user's favorite items.
@ desktop
The logical Desktop rather than the physical file system location.
@ network_shortcuts
A file system directory that contains the link objects that may exist in the My Network Places virtua...
@ internet_cache
The directory that serves as a common repository for temporary Internet files.
@ common_templates
The file system directory that contains the templates that are available to all users....
@ send_to
The directory that contains the Send To menu items.
@ application_data
The directory that serves as a common repository for application-specific data for the current roamin...
@ program_files_x86
The Program Files folder On an x86 system, passing the ProgramFilesX86 member to the Environment....
@ cd_burning
The file system directory that acts as a staging area for files waiting to be written to a CD.
@ startup
The directory that corresponds to the user's Startup program group. The system starts these programs ...
@ common_oem_links
This value is recognized in Windows Vista for backward compatibility, but the special folder itself i...
@ my_videos
The file system directory that serves as a repository for videos that belong to a user.
@ common_documents
The file system directory that contains documents that are common to all users. This special folder i...
@ templates
The directory that serves as a common repository for document templates.
static xtd::version version()
Gets a version consisting of the major, minor, build, and revision numbers of the xtd framework.
static xtd::ustring user_name()
Gets the user name of the person who is currently logged on to the operating system.
static xtd::ustring get_folder_path(environment::special_folder folder, environment::special_folder_option option)
Gets the path to the system special folder that is identified by the specified enumeration,...
static uint32_t processor_count()
Gets the number of processors on the current machine.
Definition environment.h:380
static std::map< std::string, std::string > & get_environment_variables()
Retrieves all environment variable names and their values from the current process.
Definition environment.h:287
static xtd::collections::specialized::string_vector get_command_line_args()
Returns a string array containing the command-line arguments for the current process.
static xtd::ustring system_directory()
Gets the fully qualified path of the system directory.
Definition environment.h:415
static std::basic_ostream< Char, Traits > & new_line(std::basic_ostream< Char, Traits > &os)
Inserts a new-line character and flushes the stream.
Definition environment.h:368
static xtd::compiler compiler_version()
Gets an cpp_standard object that contains the current c++ standard identifier and version number.
Definition environment.h:211
static xtd::ustring current_directory()
Gets the fully qualified path of the current working directory.
static std::map< std::string, std::string > & get_environment_variables(environment_variable_target target)
Retrieves all environment variable names and their values from the current process,...
special_folder_option
Specifies options to use for getting the path to a special folder.
Definition environment.h:193
@ none
The path to the folder is verified. If the folder exists, the path is returned. If the folder does no...
@ create
The path to the folder is created if it does not already exist.
@ do_not_verify
The path to the folder is returned without verifying whether the path exists. If the folder is locate...
static xtd::ustring get_environment_variable(const xtd::ustring &variable, environment_variable_target target)
Retrieves the value of an environment variable from the current process or from the Windows operating...
static bool is_64_bit_process()
Determines whether the current process is a 64-bit process.
Definition environment.h:353
static xtd::ustring expand_environment_variables(const xtd::ustring &name)
Replaces the name of each environment variable embedded in the specified string with the string equiv...
Definition environment.h:327
static xtd::collections::specialized::string_vector get_logical_drives()
Returns an array of string containing the names of the logical drives on the current computer.
Definition environment.h:314
static void set_environment_variable(const xtd::ustring &variable, const xtd::ustring &value)
Creates, modifies, or deletes an environment variable stored in the current process.
Definition environment.h:392
static xtd::operating_system os_version()
Gets an operating_system object that contains the current platform identifier and version number.
static xtd::ustring get_environment_variable(const xtd::ustring &variable)
Retrieves the value of an environment variable from the current process.
Definition environment.h:272
static xtd::ustring command_line()
Gets the command line for this process.
Definition environment.h:207
static void current_directory(const xtd::ustring &directory_name)
Sets the fully qualified path of the current working directory.
static size_t system_page_size()
Gets the number of bytes in the operating system's memory page.
static xtd::ustring new_line()
Gets the newline string defined for this environment.
static bool user_interactive()
Gets a value indicating whether the current process is running in user interactive mode.
Definition environment.h:434
static xtd::processor processor_information()
Gets an operating_system object that contains the current platform identifier and version number.
static void exit(int exit_code)
Terminates this process and returns an exit code to the operating system.
Definition environment.h:321
static xtd::ustring stack_trace()
Gets current stack trace information.
Definition environment.h:408
static int exit_code()
Gets the exit code of the process.
Represents information about an operating system, such as the version and platform identifier....
Definition operating_system.h:23
Represents information about a processor, such as the architecture. This class cannot be inherited.
Definition processor.h:19
Represents text as a sequence of UTF-8 code units.
Definition ustring.h:48
size_t index_of(value_type value) const noexcept
Reports the index of the first occurrence of the specified character in this string.
static ustring join(const ustring separator, const collection_t &values) noexcept
Concatenates a specified separator string between each element of a specified object array,...
Definition ustring.h:842
ustring remove(size_t start_index) const noexcept
Deletes all the characters from this string beginning at a specified position and continuing through ...
ustring substring(size_t start_index) const noexcept
Retrieves a substring from this instance. The substring starts at a specified character position and ...
Represents the version number of an assembly, operating system, or the xtd. This class cannot be inhe...
Definition version.h:93
Contains xtd::compiler class.
Contains core_export_ keyword.
Contains xtd::cpp_language class.
Contains xtd::environment_variable_target enum class.
std::vector< xtd::ustring > string_vector
Represents a collection of strings.
Definition string_vector.h:20
#define static_
This keyword is use to represent a static object. A static object can't be instantiated (constructors...
Definition static.h:38
#define core_export_
Define shared library export.
Definition core_export.h:13
environment_variable_target
Specifies the location where an environment variable is stored or retrieved in a set or get operation...
Definition environment_variable_target.h:15
std::string to_string(const value_t &value, const std::string &fmt, const std::locale &loc)
Convert a specified value into a string with specified format and locale.
Definition to_string.h:37
Contains xtd::guid class.
The xtd namespace contains all fundamental classes to access Hardware, Os, System,...
Definition system_report.h:17
Contains xtd::operating_system class.
Contains xtd::processor class.
Contains xtd::diagnostics::stack_trace class.
Contains xtd::static_object class.
Contains xtd::collections::specialized::string_vector typedef.
Contains xtd::ustring class.
Contains xtd::version class.