1. include "stdafx.h"
  2.  
  3. #include <Windows.h>
  4. #include <iostream>
  5. #pragma warning(disable:4996)
  6. int _tmain(int argc, _TCHAR* argv[])
  7. {
  8. char appPath[MAX_PATH];
  9.  
  10. GetEnvironmentVariableA("%%TEMP%%", appPath, );
  11. //取不到
  12. GetEnvironmentVariableA("%TEMP%", appPath, );
  13. //取不到
  14. GetEnvironmentVariableA("TEMP", appPath, );
  15. //取到了
  16.  
  17. char* psz = NULL;
  18. psz = getenv("%%TEMP%%");
  19. //取不到
  20. psz = getenv("%TEMP%");
  21. //取不到
  22. psz = getenv("TEMP");
  23. //取到了
  24.  
  25. char computerName[MAX_PATH];
  26. DWORD bufferSize = sizeof(computerName);
  27. //环境变量相关api,调用成功
  28. //@err,hr 0x000000cb 操作系统找不到已输入的环境选项
  29. //内部引用了环境变量
  30. GetComputerNameA(computerName, &bufferSize);
  31. TCHAR appPath[MAX_PATH];
  32. char* psz = getenv("TEMP");
  33. //%%TEMP%%\\%s_p.ax
  34. /*
  35. GetEnvironmentVariable(_T("TEMP"), appPath, MAX_PATH);
  36. appPath[0] = 0; //结果正常 "C:\Users\vv\AppData\Local\Temp"
  37. GetEnvironmentVariable(_T("ProgramFiles"), appPath, MAX_PATH);
  38. appPath[0] = 0; //结果正常 "C:\Program Files"
  39. ExpandEnvironmentStrings(_T("ProgramFiles"), appPath, MAX_PATH);
  40. appPath[0] = 0; //结果取不到, ProgramFiles
  41. */
  42. ExpandEnvironmentStrings(_T("%%ProgramFiles%%"), appPath, MAX_PATH);
  43. appPath[] = ; //结果 取出结果套了一层符号 "%C:\Program Files%"
  44. ExpandEnvironmentStrings(_T("%%ProgramFiles%%\\xxx_.xx"), appPath, MAX_PATH);
  45. appPath[] = ; //结果 取出结果套了一层符号 "%C:\Program Files%\\xxx"
  46. ExpandEnvironmentStrings(_T("%ProgramFiles%\\xxx"), appPath, MAX_PATH);
  47. //结果正常 "C:\Program Files"
  48. printf("%s\r\n",appPath);
  49.  
  50. wchar_t buffer[MAX_PATH];
  51. DWORD code = GetEnvironmentVariable(L"WINDIR", buffer, MAX_PATH);
  52. std::wcout << L"WINDIR:\t\t\t" << buffer << std::endl;
  53.  
  54. GetEnvironmentVariable(L"SYSTEMROOT", buffer, MAX_PATH);
  55. std::wcout << L"SYSTEMROOT:\t\t" << buffer << std::endl;
  56.  
  57. GetEnvironmentVariable(L"SYSTEMDRIVE", buffer, MAX_PATH);
  58. std::wcout << L"SYSTEMDRIVE:\t\t" << buffer << std::endl;
  59.  
  60. GetEnvironmentVariable(L"HOMEDRIVE", buffer, MAX_PATH);
  61. std::wcout << L"HOMEDRIVE:\t\t" << buffer << std::endl;
  62.  
  63. GetEnvironmentVariable(L"USERPROFILE", buffer, MAX_PATH);
  64. std::wcout << L"USERPROFILE:\t\t" << buffer << std::endl;
  65.  
  66. GetEnvironmentVariable(L"HOMEPATH", buffer, MAX_PATH);
  67. std::wcout << L"HOMEPATH:\t\t" << buffer << std::endl;
  68.  
  69. GetEnvironmentVariable(L"TMP", buffer, MAX_PATH);
  70. std::wcout << L"TMP:\t\t\t" << buffer << std::endl;
  71.  
  72. GetEnvironmentVariable(L"TEMP", buffer, MAX_PATH);
  73. std::wcout << L"TEMP:\t\t\t" << buffer << std::endl;
  74.  
  75. GetEnvironmentVariable(L"APPDATA", buffer, MAX_PATH);
  76. std::wcout << L"APPDATA:\t\t" << buffer << std::endl;
  77.  
  78. GetEnvironmentVariable(L"PROGRAMFILES", buffer, MAX_PATH);
  79. std::wcout << L"PROGRAMFILES:\t\t" << buffer << std::endl;
  80.  
  81. GetEnvironmentVariable(L"COMMONPROGRAMFILES", buffer, MAX_PATH);
  82. std::wcout << L"COMMONPROGRAMFILES:\t" << buffer << std::endl;
  83.  
  84. GetEnvironmentVariable(L"USERNAME", buffer, MAX_PATH);
  85. std::wcout << L"USERNAME:\t\t" << buffer << std::endl;
  86.  
  87. GetEnvironmentVariable(L"ALLUSERSPROFILE", buffer, MAX_PATH);
  88. std::wcout << L"ALLUSERSPROFILE:\t" << buffer << std::endl;
  89.  
  90. GetEnvironmentVariable(L"OS", buffer, MAX_PATH);
  91. std::wcout << L"OS:\t\t\t" << buffer << std::endl;
  92.  
  93. GetEnvironmentVariable(L"COMPUTERNAME", buffer, MAX_PATH);
  94. std::wcout << L"COMPUTERNAME:\t\t" << buffer << std::endl;
  95.  
  96. GetEnvironmentVariable(L"NUMBER_OF_PROCESSORS", buffer, MAX_PATH);
  97. std::wcout << L"NUMBER_OF_PROCESSORS:\t" << buffer << std::endl;
  98.  
  99. GetEnvironmentVariable(L"PROCESSOR_ARCHITECTURE", buffer, MAX_PATH);
  100. std::wcout << L"PROCESSOR_ARCHITECTURE:\t" << buffer << std::endl;
  101.  
  102. GetEnvironmentVariable(L"PROCESSOR_LEVEL", buffer, MAX_PATH);
  103. std::wcout << L"PROCESSOR_LEVEL:\t" << buffer << std::endl;
  104.  
  105. GetEnvironmentVariable(L"PROCESSOR_REVISION", buffer, MAX_PATH);
  106. std::wcout << L"PROCESSOR_REVISION:\t" << buffer << std::endl;
  107.  
  108. GetEnvironmentVariable(L"USERDOMAIN", buffer, MAX_PATH);
  109. std::wcout << L"USERDOMAIN:\t\t" << buffer << std::endl;
  110.  
  111. GetEnvironmentVariable(L"COMSPEC", buffer, MAX_PATH);
  112. std::wcout << L"COMSPEC:\t\t" << buffer << std::endl;
  113.  
  114. GetEnvironmentVariable(L"PATHEXT", buffer, MAX_PATH);
  115. std::wcout << L"PATHEXT:\t\t" << buffer << std::endl;
  116.  
  117. GetEnvironmentVariable(L"PATH", buffer, MAX_PATH);
  118. std::wcout << L"PATH:\t\t" << buffer << std::endl;
  119.  
  120. system("pause");
  121. return ;
  122. }

获取环境变量,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. 20个必不可少的Python库

    转载:http://www.python123.org/tutorials/58b41f2a28c8f30100bd41dc 读者们好.今天我将介绍20个属于我常用工具的Python库,我相信你看完之 ...

  2. 关于Three.js基本几何形状

    一.有关球体SphereGeometry构造函数参数说明 SphereGeometry(radius, widthSegments, heightSegments, phiStart, phiLeng ...

  3. 《Java大学教程》—第8章 通过继承扩展类

    8.2    继承(inheritance):继承是指在类之间共享属性和方法.继承关系是一种层次关系.在继承关系中位于顶部的类称为超类(或基类),位于下面的类称为子类(或派生类).类型转换(type ...

  4. ionic app开发遇到的问题

    :processDebugResources FAILED FAILURE: Build failed with an exception. * What went wrong: Execution ...

  5. 英语进阶系列-A01-再别康桥

    每天必读知识 音标 发音网页 人称代词与物主代词 时态 朗读50遍词汇系列1 Number word 1 be 2 have 3 get 4 give 5 take 诗歌欣赏 [原诗] [英文版] 再 ...

  6. python mysql数据库操作

    一.pymysql 模块安装(本文博客推荐:https://www.cnblogs.com/clschao/articles/10023248.html) pip3 install pymysql 二 ...

  7. c# base64编码解码

    1.base64转pdf

  8. Request Body可以反复读取的方法

    org.springframework.web.filter.HiddenHttpMethodFilter:过滤器已经读取流了,因此想频繁读取流的话,自定义Filter必须在org.springfra ...

  9. JS学习实践(1) JavaScript 修改图像灯泡

    修改灯泡 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <titl ...

  10. 机器学习三剑客之Pandas中DataFrame基本操作

    Pandas 是基于Numpy 的一种工具,是为了解决数据分析任务而创建的.Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具.Pandas提供了大量能使我们快速便捷 ...