[转]用 GetEnvironmentVariable 获取常用系统环境变量

以前曾用 GetWindowsDirectory、GetSystemDirectory、GetTempPath 等函数获取系统常用文件夹;
也用过 SHGetSpecialFolderLocation、SHGetPathFromIDList 函数获取过更多常用路径;
但这都不如用 GetEnvironmentVariable 获取系统变量来得快.


//譬如 %WINDIR% 是表示系统目录的系统变量, 可以这样获取:
var   s: string;
begin   s := GetEnvironmentVariable(‘WINDIR‘);   ShowMessage(s); {C:\WINDOWS}
end;

%WINDIR%                {系统目录 - C:\WINDOWS}
%SYSTEMROOT%            {系统目录 - C:\WINDOWS}
%SYSTEMDRIVE%            {系统根目录 - C:}
%HOMEDRIVE%              {当前用户根目录 - C:}
%USERPROFILE%            {当前用户目录 - C:\Documents and Settings\wy}
%HOMEPATH%              {当前用户路径 - \Documents and Settings\wy}
%TMP%                    {当前用户临时文件夹 - C:\DOCUME~1\wy\LOCALS~1\Temp}
%TEMP%                  {当前用户临时文件夹 - C:\DOCUME~1\wy\LOCALS~1\Temp}
%APPDATA%                {当前用户数据文件夹 - C:\Documents and Settings\wy\Application Data}
%PROGRAMFILES%          {程序默认安装目录 - C:\Program Files}
%COMMONPROGRAMFILES%    {文件通用目录 - C:\Program Files\Common Files}
%USERNAME%              {当前用户名 - wy}
%ALLUSERSPROFILE%        {所有用户文件目录 - C:\Documents and Settings\All Users}
%OS%                    {操作系统名 - Windows_NT}
%COMPUTERNAME%          {计算机名 - IBM-B63851E95C9}
%NUMBER_OF_PROCESSORS%  {处理器个数 - 1}
%PROCESSOR_ARCHITECTURE% {处理器芯片架构 - x86}
%PROCESSOR_LEVEL%        {处理器型号 - 6}
%PROCESSOR_REVISION%    {处理器修订号 - 0905}
%USERDOMAIN%            {包含用户帐号的域 - IBM-B63851E95C9}
%COMSPEC%                {C:\WINDOWS\system32\cmd.exe}

%PATHEXT% {执行文件类型 - .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.pyo;.pyc;.py;.pyw}
%PATH%    {搜索路径}

另外, 可以利用 .. 到上层目录, 如:


var   s: string;
begin   s := GetCurrentDir;   ShowMessage(s); {C:\Documents and Settings\wy\My Documents\RAD Studio\Projects}   SetCurrentDir(‘..‘);   s := GetCurrentDir;   ShowMessage(s); {C:\Documents and Settings\wy\My Documents\RAD Studio}   SetCurrentDir(‘..\..‘);   s := GetCurrentDir;   ShowMessage(s); {C:\Documents and Settings\wy}
end;
时间: 2024-10-01 04:41:55

[转]用 GetEnvironmentVariable 获取常用系统环境变量的相关文章

用 GetEnvironmentVariable 获取常用系统环境变量

//譬如 %WINDIR% 是表示系统目录的系统变量, 可以这样获取: var   s: string; begin   s := GetEnvironmentVariable('WINDIR');   ShowMessage(s); {C:\WINDOWS} end; %WINDIR%                {系统目录 - C:\WINDOWS} %SYSTEMROOT%            {系统目录 - C:\WINDOWS} %SYSTEMDRIVE%            {

170811、Java获取jdk系统环境变量

package com.rick.utils; /******************************************************** *@Desc: 系统变量属性工具类 *@Author: ZRP *@Date: 2017/11/9 9:32 ********************************************************/ public class SystemUtil { public static void main(Strin

GetEnvironmentVariable 获取系统环境变量

转,原文地址https://blog.csdn.net/hellokandy/article/details/52242365 常用的系统环境变量有: WINDIR: //系统目录 - C:\WINDOWS SYSTEMROOT: //系统目录 - C:\WINDOWS SYSTEMDRIVE: //系统根目录 - C: HOMEDRIVE: //当前用户根目录 - C: USERPROFILE: //当前用户目录 - C:\Users\Kandy HOMEPATH: //当前用户路径 - \U

获取系统环境变量-GetEnvironmentVariable

GetEnvironmentVariable是一个从调用该函数的进程的环境变量中返回指定的变量名值的函数,主要参数有lpName.lpBuffer等. GetEnvironmentVariable函数从调用该函数的进程的环境变量中,返回指定的变量名的值,该值是一个以零结尾的字符串指针. DWORD GetEnvironmentVariable( LPCTSTR lpName, // address of environment variable name LPTSTR lpBuffer, //

C/C++ 获取系统环境变量

#include <stdlib.h>#include <stdio.h> int main(void){char *pathvar;pathvar = getenv("PATH");printf("pathvar=%s",pathvar);system("pause");return 0;} 注: getenv() 是在stdlib中定义的,当然我们也可以在c++中,通过 #include<cstdlib>

Java获取系统环境变量(System Environment Variable)和系统属性(System Properties)以及启动http://m.jb51.net/article/83454.htm参数的方法

系统环境变量(System Environment Variable): 在Linux下使用export $ENV=123指定的值.获取的方式如下: Map<String,String> map = System.getenv(); Set<Map.Entry<String,String>> entries = map.entrySet(); for (Map.Entry<String, String> entry : entries) { System.o

SpringBoot系列——利用系统环境变量与配置文件的分支选择实现“智能部署”

前言 通过之前的博客:SpringBoot系列——jar包与war包的部署,我们已经知道了如果实现项目的简单部署,但项目部署的时候最烦的是什么?修改成发布环境对应的配置!数据库连接地址.Eureka注册中心地址.Redis服务地址等,部署环境不一样,打包的时候就要改成对应的配置:常用的环境有本地开发环境dev,本地测试环境dev-test,生产测试环境prod-test,生产环境prod: 开发的时候我们用dev,项目直接运行,不用改配置:发布本地测试环境的时候,打包之前我们要先改成对应配置:上

批处理设置系统环境变量

在软件运行过程中,可能需要配置计算机的环境变量,在这里分为两种情况: 一:增加或修改环境变量只在当前软件环境中使用 如我们设置Java的环境变量: set CLASSPATH=%CLASSPATH%;C:\LS\JAVA.JAR保持原有的不变  自己加上要加的jar包,用分号隔开,当然你也可以写到前面,如:set CLASSPATH=D:/My_Path;%CLASSPATH%set JAVA_HOME=  这里的路径自己写吧不过这样写只对你打开的这个dos窗口有效,也就是你只有在这个窗口用ja

【Thinking In Java零散笔记】对于持有对象一章中的显示系统环境变量代码分析

今天仍旧进行着学习java的计划.在学习到持有对象一章中,看到了如下代码: 1 import java.util.*; 2 3 public class EnvironmentVariables { 4 public static void main(String[] args) { 5 for(Map.Entry entry: System.getenv().entrySet()) { 6 System.out.println(entry.getKey() + ": " + 7 en