include "stdafx.h"

#include <Windows.h>
#include <iostream>
#pragma warning(disable:4996)
int _tmain(int argc, _TCHAR* argv[])
{
char appPath[MAX_PATH]; GetEnvironmentVariableA("%%TEMP%%", appPath, );
//取不到
GetEnvironmentVariableA("%TEMP%", appPath, );
//取不到
GetEnvironmentVariableA("TEMP", appPath, );
//取到了 char* psz = NULL;
psz = getenv("%%TEMP%%");
//取不到
psz = getenv("%TEMP%");
//取不到
psz = getenv("TEMP");
//取到了 char computerName[MAX_PATH];
DWORD bufferSize = sizeof(computerName);
//环境变量相关api,调用成功
//@err,hr 0x000000cb 操作系统找不到已输入的环境选项
//内部引用了环境变量
GetComputerNameA(computerName, &bufferSize);
TCHAR appPath[MAX_PATH];
char* psz = getenv("TEMP");
//%%TEMP%%\\%s_p.ax
/*
GetEnvironmentVariable(_T("TEMP"), appPath, MAX_PATH);
appPath[0] = 0; //结果正常 "C:\Users\vv\AppData\Local\Temp"
GetEnvironmentVariable(_T("ProgramFiles"), appPath, MAX_PATH);
appPath[0] = 0; //结果正常 "C:\Program Files"
ExpandEnvironmentStrings(_T("ProgramFiles"), appPath, MAX_PATH);
appPath[0] = 0; //结果取不到, ProgramFiles
*/
ExpandEnvironmentStrings(_T("%%ProgramFiles%%"), appPath, MAX_PATH);
appPath[] = ; //结果 取出结果套了一层符号 "%C:\Program Files%"
ExpandEnvironmentStrings(_T("%%ProgramFiles%%\\xxx_.xx"), appPath, MAX_PATH);
appPath[] = ; //结果 取出结果套了一层符号 "%C:\Program Files%\\xxx"
ExpandEnvironmentStrings(_T("%ProgramFiles%\\xxx"), appPath, MAX_PATH);
//结果正常 "C:\Program Files"
printf("%s\r\n",appPath); wchar_t buffer[MAX_PATH];
DWORD code = GetEnvironmentVariable(L"WINDIR", buffer, MAX_PATH);
std::wcout << L"WINDIR:\t\t\t" << buffer << std::endl; GetEnvironmentVariable(L"SYSTEMROOT", buffer, MAX_PATH);
std::wcout << L"SYSTEMROOT:\t\t" << buffer << std::endl; GetEnvironmentVariable(L"SYSTEMDRIVE", buffer, MAX_PATH);
std::wcout << L"SYSTEMDRIVE:\t\t" << buffer << std::endl; GetEnvironmentVariable(L"HOMEDRIVE", buffer, MAX_PATH);
std::wcout << L"HOMEDRIVE:\t\t" << buffer << std::endl; GetEnvironmentVariable(L"USERPROFILE", buffer, MAX_PATH);
std::wcout << L"USERPROFILE:\t\t" << buffer << std::endl; GetEnvironmentVariable(L"HOMEPATH", buffer, MAX_PATH);
std::wcout << L"HOMEPATH:\t\t" << buffer << std::endl; GetEnvironmentVariable(L"TMP", buffer, MAX_PATH);
std::wcout << L"TMP:\t\t\t" << buffer << std::endl; GetEnvironmentVariable(L"TEMP", buffer, MAX_PATH);
std::wcout << L"TEMP:\t\t\t" << buffer << std::endl; GetEnvironmentVariable(L"APPDATA", buffer, MAX_PATH);
std::wcout << L"APPDATA:\t\t" << buffer << std::endl; GetEnvironmentVariable(L"PROGRAMFILES", buffer, MAX_PATH);
std::wcout << L"PROGRAMFILES:\t\t" << buffer << std::endl; GetEnvironmentVariable(L"COMMONPROGRAMFILES", buffer, MAX_PATH);
std::wcout << L"COMMONPROGRAMFILES:\t" << buffer << std::endl; GetEnvironmentVariable(L"USERNAME", buffer, MAX_PATH);
std::wcout << L"USERNAME:\t\t" << buffer << std::endl; GetEnvironmentVariable(L"ALLUSERSPROFILE", buffer, MAX_PATH);
std::wcout << L"ALLUSERSPROFILE:\t" << buffer << std::endl; GetEnvironmentVariable(L"OS", buffer, MAX_PATH);
std::wcout << L"OS:\t\t\t" << buffer << std::endl; GetEnvironmentVariable(L"COMPUTERNAME", buffer, MAX_PATH);
std::wcout << L"COMPUTERNAME:\t\t" << buffer << std::endl; GetEnvironmentVariable(L"NUMBER_OF_PROCESSORS", buffer, MAX_PATH);
std::wcout << L"NUMBER_OF_PROCESSORS:\t" << buffer << std::endl; GetEnvironmentVariable(L"PROCESSOR_ARCHITECTURE", buffer, MAX_PATH);
std::wcout << L"PROCESSOR_ARCHITECTURE:\t" << buffer << std::endl; GetEnvironmentVariable(L"PROCESSOR_LEVEL", buffer, MAX_PATH);
std::wcout << L"PROCESSOR_LEVEL:\t" << buffer << std::endl; GetEnvironmentVariable(L"PROCESSOR_REVISION", buffer, MAX_PATH);
std::wcout << L"PROCESSOR_REVISION:\t" << buffer << std::endl; GetEnvironmentVariable(L"USERDOMAIN", buffer, MAX_PATH);
std::wcout << L"USERDOMAIN:\t\t" << buffer << std::endl; GetEnvironmentVariable(L"COMSPEC", buffer, MAX_PATH);
std::wcout << L"COMSPEC:\t\t" << buffer << std::endl; GetEnvironmentVariable(L"PATHEXT", buffer, MAX_PATH);
std::wcout << L"PATHEXT:\t\t" << buffer << std::endl; GetEnvironmentVariable(L"PATH", buffer, MAX_PATH);
std::wcout << L"PATH:\t\t" << buffer << std::endl; system("pause");
return ;
}

获取环境变量,0x000000cb 操作系统找不到已输入的环境选项的更多相关文章

  1. Java环境变量的操作系统原理[浅谈]

    从知乎摘抄过来的文章,图没有复制过来,当作自己的笔记.其中我认为重要的部分(涉及操作系统的)已经加粗了. 本文源自:你应该知道的 Windows 环境变量 - 麓山南人的文章 - 知乎 https:/ ...

  2. 环境变量、block、修饰符:block对环境变量的引用和修改需要通过修饰符来限定

    环境变量.block.修饰符:block对环境变量的引用和修改需要通过修饰符来限定. http://www.cnblogs.com/fengmin/p/5816580.html - (NSUInteg ...

  3. java环境变量详解---找不到或无法加载主类

    默认安装在C:\ProgramFiles\Java\jdk1.7.0目录下环境变量配置为PATH=.;%JAVA_HOME%\binCLASSPATH=.;%JAVA_HOME%\lib\dt.jar ...

  4. Linux:修改Ubuntu环境变量后bash找不到

    1.问题显示 修改环境变量,导致命令全部失效  2.解决办法 #使用备份bin export PATH=/usr/bin:/bin  之后使用命令就可以了. 3.找到修改的环境变量 一般修改的环境变量 ...

  5. MinGW安装与环境变量配置和Sublime Text 2搭建C++编译环境

    MinGW安装与环境变量配置 从http://sourceforge.net/projects/mingw/下载MinGW,安装到D:\MinGW.工具集选择安装(之后还可以进行安装卸载):至少需要安 ...

  6. postman设置环境变量,实现一套接口根据选择的环境去请求不同的url

    一个系统,有本地,开发,测试,生产等不同的环境,如果写不同的url配置多套会比较麻烦,可以设置不同的环境实现不同的url之间的切换.配置之后如下: 第一步: 第二步: 添加环境变量 ps::不同的环境 ...

  7. Linux中修改环境变量及生效方法(永久、临时)环境变量查看

    参考link:https://blog.csdn.net/u011630575/article/details/49839893 在项目中有一次帮忙组里搭环境时遇见了这部分的相关操作,记录一下.

  8. 怎样在Ubuntu中设置环境变量

    首先启动终端. 单击屏幕左上角的Ubuntu图标,在弹出的窗口中点击搜索栏,输入"terminal", 稍等片刻,终端就会赫然在目!二话不说,直接点击!     然后打开环境设置文 ...

  9. Linux 操作系统下的环境变量设置

    Linux下的环境变量设置 by:授客 QQ:1033553122 1.  问题描述 linux输入命令时经常会出现提示:xxx:Command not found 2.  原因分析 Command ...

随机推荐

  1. 卸载安装node npm (Mac linux )

    1. 卸载node npm (1) 先卸载 npm: sudo npm uninstall npm -g (2) 然后卸载 Node.js. (2.1) 如果是 Ubuntu 系统并使用 apt-ge ...

  2. C3P0连接池温习1

    一.应用程序直接获取数据库连接的缺点 用户每次请求都需要向数据库获得链接,而数据库创建连接通常需要消耗相对较大的资源,创建时间也较长.假设网站一天10万访问量,数据库服务器就需要创建10万次连接,极大 ...

  3. IntelliJ IDEA LicenseServer激活及使用

    一.激活 IntelliJ IDEA下载地址:https://www.jetbrains.com/idea/download/#section=windows 原文地址:http://blog.csd ...

  4. P2066 机器分配 DP

    题目描述 总公司拥有高效设备M台,准备分给下属的N个分公司.各分公司若获得这些设备,可以为国家提供一定的盈利.问:如何分配这M台设备才能使国家得到的盈利最大?求出最大盈利值.其中M≤15,N≤10.分 ...

  5. public private protected default

    public private protected default 这几个限定访问控制符只是在编译阶段起作用,在运行阶段不起作用 private修饰符 , 本类可以访问 default修饰符 , 本类, ...

  6. jquery懒加载插件 jquery_lazyload 下载

    每天学习一点点 编程PDF电子书.视频教程免费下载:http://www.shitanlife.com/code https://pan.baidu.com/s/1UbOeyL_AaSNN_KMA4M ...

  7. foreach 與 reference 的雷

    前陣子公司定期技術研討會時,有人提出了一個問題. $arr = [1, 2, 3]; foreach ($arr as &$a) {} foreach ($arr as $a) {} var_ ...

  8. solaris下安装oracle 11g与11g rac

    1.To Find Swap, RAM, and OS Version 对于 Solaris 操作系统,查看 Swap, RAM, and OS Version 的方法: swap -l /usr/s ...

  9. mybatis之一对多

    今天主要话题围绕这么几个方面? mybatis一对多示例 sql优化策略 一.mybatis之一对多 在说一对多之前,顺便说一下一对一. 一对一,常见的例子,比如以常见的班级例子来说,一个班主任只属于 ...

  10. 深入理解mongodb查询条件语句

    阅读目录 1. 理解:"$lt"."$lte"."$gt" 和 "$gte" 2. 理解 '$ne' 3. 理解 &qu ...