用 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;
用 GetEnvironmentVariable 获取常用系统环境变量的更多相关文章
- GetEnvironmentVariable 获取常用系统变量(转)
源:GetEnvironmentVariable 获取常用系统变量 //譬如 WINDIR 表示系统目录系统变量, 以这样获: var s:string; begin s:=GetEnvironmen ...
- 170811、Java获取jdk系统环境变量
package com.rick.utils; /******************************************************** *@Desc: 系统变量属性工具类 ...
- 获取Spring-boot系统环境变量方法
public static ConfigurableApplicationContext context = null; public static void main( String[] args ...
- .NET Core程序中,如何获取和设置操作系统环境变量的值
有时候我们在.NET Core程序中需要获取和设置操作系统环境变量的值.本文演示如何使用Environment.GetEnvironmentVariable和Environment.SetEnviro ...
- C#中如何获取系统环境变量等
C#中获取系统环境变量需要用到Environment 类. 其中提供了有关当前环境和平台的信息以及操作它们的方法.该类不能被继承 以下代码得到%systemdrive%的值,即“C:” string ...
- C#中如何获取系统环境变量
原文:C#中如何获取系统环境变量 C#中获取系统环境变量需要用到Environment Class.其中提供了有关当前环境和平台的信息以及操作它们的方法.该类不能被继承. 以下代码得到%systemd ...
- JAVA 获取系统环境变量
分享代码: package com.base.entity; import java.io.Serializable; import java.util.Comparator; /** * 系统环境变 ...
- Springboot yml获取系统环境变量的值
注意,这里说的是获取系统环境变量的值,譬如Windows里配置的JAVA_HOME之类的,可以直接在Springboot的配置文件中获取. 我们经常使用一些docker管理平台,如DaoCloud.r ...
- [置顶]
getenv、setenv函数(获取和设置系统环境变量) 与 环境变量
1.getenv() 函数名: getenv 功 能: 从环境中取字符串,获取环境变量的值 头文件: stdlib.h 用 法:char *getenv(char *envvar); 函数说明:get ...
随机推荐
- 2019牛客多校第六场 B - Shorten IPv6 Address 模拟
B - Shorten IPv6 Address 题意 给你\(128\)位的二进制,转换为十六进制. 每\(4\)位十六进制分为\(1\)组,每两组用一个\(":"\)分开. 每 ...
- C#中的6种常见的集合
1.动态数组(ArrayList) 动态数组(ArrayList)代表了可被单独索引的对象的有序集合.它基本上可以替代一个数组.但是,与数组不同的是,您可以使用索引在指定的位置添加和移除项目,动态数组 ...
- linux 基础命令总结
1.mkdir 创建目录 -p 创建多级目录 mkdir -p /data/test -m, --mode=模式 设置权限模式(类似chmod),而不是rwxrwxrwx 减umask -p, --p ...
- 使用Docker快速部署Gitlab
使用Docker部署Gitlab 1. 下载gitlab镜像 docker pull gitlab/gitlab-ce 2. 运行gitlab实例 GITLAB_HOME=`pwd`/data/git ...
- response.setHeader();小结
response.setHeader():1. HTTP消息头 (1)通用信息头 即能用于请求消息中,也能用于响应信息中,但与被传输的实体内容没有关系的信息头,如Data,Pragma 主要: Cac ...
- docker使用记录二:mysql安装与配置
docker 安装mysql 和挂载 仓库位置: https://hub.docker.com/_/mysql/ 安装的同时挂载data资料卷和config 配置的资料卷刀磁盘上 docker run ...
- Tomcat服务的配置
首先到Apache官网,下载tomcat,在官网有两种tomcat,一种是安装版,一种是压缩版,对于安装版的一台机器只能安装一个tomcat,而对于压缩版的tomcat一台机器可以安装多个tomcat ...
- 面相对象编程 扩充之封装、访问机制、 property
封装: 封装指的是可以将一堆属性和方法,封装到对象中 ps : 对象就好比一个 “袋子/容器”, 可以存放一堆属性和方法 ps : 存不是目的,目的是为了取,可以通过“对象” d的方式获取属性或方法 ...
- matplotlib系列——线的属性
幕布视图:https://mubu.com/doc/alG8r_3iSw 参考文献:嵩天的Python课程讲义 示例(更多示例:matplotlib系列——折线图) 效果 颜色 线的风格 标记类型 ...
- Charles 抓 HTTPS 包
最新 Charles 破解版下载地址:http://charles.iiilab.com/ 关掉翻墙软件!!!!! 重启 Charles !!!!! 重启浏览器!!!!! 如果是抓手机的HTTPS包, ...