输出进程相关联的环境变量信息(使用GetEnvironmentStrings取得信息,然后使用StringCchCopyN和StringCchPrintf保证字符串不会越界)
- void DumpEnvironmentStrings()
- {
- #define MAX_ENVIRONMENT_NAME_LENGTH (128)
- #define MAX_ENVIRONMENT_VALUE_LENGTH (1024)
- LPTSTR lpszEnvString = GetEnvironmentStrings();
- if(NULL == lpszEnvString)
- {
- return ;
- }
- TCHAR* pEnvBlock = lpszEnvString;
- const TCHAR szToken = _T('=');
- TCHAR szName[MAX_ENVIRONMENT_NAME_LENGTH] = {0};
- TCHAR szValue[MAX_ENVIRONMENT_VALUE_LENGTH] = {0};
- while('\0' != *pEnvBlock)
- {
- if(szToken == *pEnvBlock)
- {
- pEnvBlock += _tcslen(pEnvBlock) + 1;
- continue;
- }
- TCHAR* pToken = _tcschr(pEnvBlock, szToken);
- if(NULL == pToken)
- {
- break;
- }
- memset(szName, 0, sizeof(szName));
- memset(szValue, 0, sizeof(szValue));
- StringCchCopyN(szName, _countof(szName), pEnvBlock, pToken - pEnvBlock);
- StringCchPrintf(szValue, _countof(szValue), _T("%s"), pToken + 1);
- _tprintf(_T("%s : %s\r\n\r\n"), szName, szValue);
- pEnvBlock += _tcslen(pEnvBlock) + 1;
- }
- FreeEnvironmentStrings(lpszEnvString);
- lpszEnvString = NULL;
- }
- // 测试代码
- #include "stdafx.h"
- #include <Windows.h>
- #include <strsafe.h>
- int _tmain(int argc, _TCHAR* argv[])
- {
- DumpEnvironmentStrings();
- return 0;
- }
输出进程相关联的环境变量信息(使用GetEnvironmentStrings取得信息,然后使用StringCchCopyN和StringCchPrintf保证字符串不会越界)的更多相关文章
- [Shell]Bash变量:环境变量的配置文件和登录信息
----------------------------------------------------------------------------------------- 只有把环境变量放入配 ...
- 使用Linux环境变量教程
什么是环境变量? bash shell用一个叫作环境变量( environment variable)的特性来存储有关shell会话和工作环境的信息(这也是它们被称作环境变量的原因).这项特性允许你在 ...
- Ubuntu 18.04安装JDK并配置环境变量
1.官网下载jdk 下载链接 http://www.oracle.com/technetwork/java/javase/downloads/index.html 可以根据自己的系统进行下载 2.进行 ...
- Windows环境安装tesseract-ocr 4.00并配置环境变量
最近要做文字识别,不让直接用别人的接口,所以只能尝试去用开源的类库.tesseract-ocr是惠普公司开源的一个文字识别项目,通过它可以快速搭建图文识别系统,帮助我们开发出能识别图片的ocr系统.因 ...
- Linux——环境变量的文件及配置
环境变量是包含关于系统及当前登录用户的环境信息的字符串,一些软件程序使用此信息确定在何处放置文件(如临时文件). 一.环境变量文件介绍 转自:http://blog.csdn.net/cscmaker ...
- readonly&&declare&&unset &&export&&env环境变量
readonly命令用于定义只读shell变量和shell函数.readonly命令的选项-p可以输出显示系统中所有定义的只读变量. 选项 -f:定义只读函数: -a:定义只读数组变量: -p:显示系 ...
- JAVA JDK安装及path环境变量配置
JDK安装 JVM :JAVA虚拟机 JRE :java运行环境=JVM+核心类库 JDK :JAVA开发工具包=JRE+java开发工具 java开发工具:编译工具(javac.exe) . 运行 ...
- Linux学习,path,环境变量的配置
方法一: 1.查看当前环境变量配置的所与信息 echo $PATH 注意: echo是输出的意思 加$表示它是一个变量 2.配置环境命令 PATH="$PATH":comdir 注 ...
- windows_环境变量
今天在windows下安装了openSSH,就想在windows下也添加一个服务器地址的环境变量,添加是会了,引用却不会,网上也没找到相应的文章,就自己看了看别人的bat程序,然后找到了引用变量的方法 ...
随机推荐
- Super Object Toolkit (支持排序)
(* * Super Object Toolkit * * Usage allowed under the restrictions of the Lesser GNU General Public ...
- C# 命名参数【转】
命名参数(Named Arguments)就是说在调用函数时可以通过指定参数名称的方式来调用参数.它最大的好处就是方便调用参数时按调用者的需要来排列顺序,而不必死守函数声明时的顺序(相对于“位置参数” ...
- oracle-12c-rac 报:ORA-01078
OS: Oracle Linux Server release 5.7 DB: Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - ...
- linux下bus,device,driver三者关系
linux下bus,device,driver三者关系 1.bus: 总线作为主机和外设的连接通道,有些总线是比较规范的,形成了很多协议.如 PCI,USB,1394,IIC等.任何设备都可以选择合适 ...
- 一个简单的脚本让你的ubuntu14.04记忆屏幕亮度
小弟献丑,发个没技术含量的.本人电脑是联想y400,无论是安装32位的ubuntu还是64位的ubuntu,无论是13.04还是现在的 14.04开发者版本,都无法让我的小y实现记忆屏幕亮度这个简单的 ...
- linux第四周作业
一.用户态内核态与中断 1.库函数把内核调用封装起来. 2.区分内核态和用户态是为了让系统更稳定.Linux里吧用户态定位3级,把内核态定位0级. 3.中断处理就是从用户态进入内核态的主要方法,系统调 ...
- C#中Linq查询基本操作
摘要:本文介绍Linq查询基本操作(查询关键字) - from 子句 - where 子句 - select子句 - group 子句 - into 子句 - orderby 子句 - join 子句 ...
- c++ 常用数据接口 set
#include <set> #include <iostream> #include <string> int main(void) { std::set< ...
- Codeforces Beta Round #10 D. LCIS
题目链接: http://www.codeforces.com/contest/10/problem/D D. LCIS time limit per test:1 secondmemory limi ...
- execl执行解释器文件以及shell命令
问题描述: execl执行解释器文件以及shell命令 问题解决: 具体源文件: