第一次看到这个函数感觉是新增一个环境变量,再看传入的参数又感觉不像。
扩充环境字符串:将由百分号封闭起来的环境变量名转换成那个变量的内容。可以写个例子看看
#include <stdio.h>
#include <windows.h>
int main(int argc,char* argv, char* env)
{
char l_szSrcA[256]={"%ProgramFiles%\\WindowsPowerShell\\;%SystemRoot%\\system32\\;%SystemDrive%\\"};
char l_szDstA[256]={0};
printf("源字符串:%s\n",l_szSrcA);
ExpandEnvironmentStringsA(l_szSrcA,l_szDstA,256);
printf("目的字符串:%s\n",l_szDstA);
return 0;
}
输出结果:
常用系统变量:%ProgramFiles% %SystemRoot% %SystemDrive% %Path%
环境变量在cmd窗口显示方法:
在cmd窗口中可以使用echo + %ProgramFiles%输出某个环境变量的值;
使用set命令可以输出所有环境变量值,set + ProgramFiles(变量名前后都不用加%)输出某个环境变量的值。
扩充环境变量:
记得刚学习python的时候是在系统属性--->高级--->环境变量--->系统变量(让电脑的所有用户都能在cmd窗口使用python)--->Path里面增加C:\Python27、C:\Python27\Scripts两个路径
续一:
C语言可以使用GetEnvironmentVariableA( )函数获取某个环境变量值,代码:
#include <stdio.h>
#include <Windows.h>
int main()
{
char l_szEnvironmentStringA[260]={0};
GetEnvironmentVariableA("COMSPEC",l_szEnvironmentStringA,260);
printf("EnvironmentString:%s\n",l_szEnvironmentStringA);
system("pause");
return 0;
}
输出结果:
————————————————
版权声明:本文为CSDN博主「拜乔布斯」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/singleyellow/article/details/92089897
WINDIR: //系统目录 - C:\WINDOWS
SYSTEMROOT: //系统目录 - C:\WINDOWS
SYSTEMDRIVE: //系统根目录 - C:
HOMEDRIVE: //当前用户根目录 - C:
USERPROFILE: //当前用户目录 - C:\Users\Kandy
HOMEPATH: //当前用户路径 - \Users\Kandy
TMP: //当前用户临时文件夹 - C:\Users\Kandy\AppData\Local\Temp
TEMP: //当前用户临时文件夹 - C:\Users\Kandy\AppData\Local\Temp
APPDATA: //当前用户数据文件夹 - C:\Users\Kandy\AppData\Roaming
PROGRAMFILES: //程序默认安装目录 - C:\Program Files (x86)
COMMONPROGRAMFILES: //文件通用目录 - C:\Program Files (x86)\Common Files
USERNAME: //当前用户名 - Kandy
ALLUSERSPROFILE: //所有用户文件目录 - C:\ProgramData
OS: //操作系统名 - Windows_NT
COMPUTERNAME: //计算机名 - KANDY-PC
NUMBER_OF_PROCESSORS: //处理器个数 - 4
PROCESSOR_ARCHITECTURE: //处理器芯片架构 - x86
PROCESSOR_LEVEL: //处理器型号 - 6
PROCESSOR_REVISION: //处理器修订号 - 3c03
USERDOMAIN: //包含用户帐号的域 - KANDY-PC
COMSPEC: //C:\WINDOWS\system32\cmd.exe
PATHEXT: //执行文件类型 - .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
PATH: //搜索路径
#include <windows.h>
#include <stdio.h>
void main()
{
DWORD dwVersion = 0;
DWORD dwMajorVersion = 0;
DWORD dwMinorVersion = 0;
DWORD dwBuild = 0;
dwVersion = GetVersion();
// Get the Windows version.
dwMajorVersion = (DWORD)(LOBYTE(LOWORD(dwVersion)));
dwMinorVersion = (DWORD)(HIBYTE(LOWORD(dwVersion)));
// Get the build number.
if (dwVersion < 0x80000000)
dwBuild = (DWORD)(HIWORD(dwVersion));
printf("Version is %d.%d (%d)\n",
dwMajorVersion,
dwMinorVersion,
dwBuild);
}