获取环境变量,0x000000cb 操作系统找不到已输入的环境选项
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 操作系统找不到已输入的环境选项的更多相关文章
- Java环境变量的操作系统原理[浅谈]
从知乎摘抄过来的文章,图没有复制过来,当作自己的笔记.其中我认为重要的部分(涉及操作系统的)已经加粗了. 本文源自:你应该知道的 Windows 环境变量 - 麓山南人的文章 - 知乎 https:/ ...
- 环境变量、block、修饰符:block对环境变量的引用和修改需要通过修饰符来限定
环境变量.block.修饰符:block对环境变量的引用和修改需要通过修饰符来限定. http://www.cnblogs.com/fengmin/p/5816580.html - (NSUInteg ...
- java环境变量详解---找不到或无法加载主类
默认安装在C:\ProgramFiles\Java\jdk1.7.0目录下环境变量配置为PATH=.;%JAVA_HOME%\binCLASSPATH=.;%JAVA_HOME%\lib\dt.jar ...
- Linux:修改Ubuntu环境变量后bash找不到
1.问题显示 修改环境变量,导致命令全部失效 2.解决办法 #使用备份bin export PATH=/usr/bin:/bin 之后使用命令就可以了. 3.找到修改的环境变量 一般修改的环境变量 ...
- MinGW安装与环境变量配置和Sublime Text 2搭建C++编译环境
MinGW安装与环境变量配置 从http://sourceforge.net/projects/mingw/下载MinGW,安装到D:\MinGW.工具集选择安装(之后还可以进行安装卸载):至少需要安 ...
- postman设置环境变量,实现一套接口根据选择的环境去请求不同的url
一个系统,有本地,开发,测试,生产等不同的环境,如果写不同的url配置多套会比较麻烦,可以设置不同的环境实现不同的url之间的切换.配置之后如下: 第一步: 第二步: 添加环境变量 ps::不同的环境 ...
- Linux中修改环境变量及生效方法(永久、临时)环境变量查看
参考link:https://blog.csdn.net/u011630575/article/details/49839893 在项目中有一次帮忙组里搭环境时遇见了这部分的相关操作,记录一下.
- 怎样在Ubuntu中设置环境变量
首先启动终端. 单击屏幕左上角的Ubuntu图标,在弹出的窗口中点击搜索栏,输入"terminal", 稍等片刻,终端就会赫然在目!二话不说,直接点击! 然后打开环境设置文 ...
- Linux 操作系统下的环境变量设置
Linux下的环境变量设置 by:授客 QQ:1033553122 1. 问题描述 linux输入命令时经常会出现提示:xxx:Command not found 2. 原因分析 Command ...
随机推荐
- KVM使用
这里使用的是Ubuntu18.04桌面版虚拟机 关于KVM可以看一下我之前的博客,有一些简单的介绍. 1.在打开虚拟机之前先开启此虚拟机的虚拟化功能. 2.安装KVM及其依赖项 wy@wy-virtu ...
- 管理ESXI网络
一.实验拓扑图: 二.实验目标:部署标准交换机和分布式交换机 三.实验步骤: 标准交换机的配置 1.分别在两台esxi主机中添加6块物理网卡,桥接到vmnet1. 通过宿主机连接到sql-vcente ...
- PXE 自动安装物理机 (DHCP服务由路由提供, 不能再配置)
目录 1. PXE 自动安装物理机 (DHCP服务由路由提供, 不能再配置) 1.1. 需要的软件 1.2. 启动 proxy dhcp 服务 1.3. 关键的几个配置文件 PXE 自动安装物理机 ( ...
- bootstrap的datepicker在选择日期后调用某个方法
bootstrap的datepicker在选择日期后调用某个方法 2016-11-08 15:14 1311人阅读 评论(0) 收藏 举报 首先感谢网易LOFTER博主Ivy的博客,我才顿悟了问题所在 ...
- 2292: Quality of Check Digits 中南多校 暴力枚举
#include <cstdio> #include <algorithm> #include <cstring> #include <iostream> ...
- redis学习笔记(一)-安装
检查是否有redis yum 源 yum install redis 下载fedora的epel仓库 yum install epel-release 安装redis数据库 yum install r ...
- How to get Docker
Docker 通俗的理解就是像VM一样的虚拟技术,但是不完全相同. Docker可以打包为镜像文件,在镜像中运行容器. 镜像和容器可以理解成类和对象的关系. 拿VM虚拟机和docker来举例,一个容器 ...
- 数据泵expdp 在rac环境下 paralle 的处理方法
其实这个是个很常见的问题,写下来做纪念吧.说明:而在11GR2后EXPDP 和 IMDP的WORKER进程在设置parallel参数时会在多个INSTANCE启动,所以DIRECTORY必须在共享磁盘 ...
- copy from insert using 语句迁移数据
使用copy实现long类型转移表空间,表空间的数据文件损坏,在转移该表空间相关表时,遇到让人郁闷的long类型.不能使用ctas和move来实现转移,最后通过古老的copy来实现该项工作. 1.模拟 ...
- ajax全局事件
作用:当你的页面存在很多ajax事件的话,我们有一些信息是公共的,可以复用,我们可以用全局事件进行编写,因为每一个ajax事件调用,都会触发ajax全局事件. jquery的ajax方法的全部全局事件 ...