在Windows系统上以C++打印出当前活动用户的环境变量
在Windows系统上以C++打印出当前活动用户的环境变量,代码如下(QT环境):
- void getEnvironmentVariables()
 - {
 - DWORD sessionId = WTSGetActiveConsoleSessionId();
 - qInfo() << "Session ID = " << sessionId;
 - HANDLE token;
 - if (!WTSQueryUserToken(sessionId, &token))
 - {
 - qCritical() << "Failed to get the user token of session " << sessionId;
 - }
 - wchar_t* pEnv = NULL;
 - if (CreateEnvironmentBlock((void**)&pEnv, token, TRUE))
 - {
 - while (*pEnv) {
 - // printf("%ls\n", pEnv);
 - qInfo() << QString::fromWCharArray(pEnv);
 - pEnv += wcslen(pEnv) + 1;
 - }
 - }
 - }
 
以上是打印当前活动用户(active user)的。
如果仅仅是是打印当前进程所处环境的环境变量,见Visual Studio的代码如下:
- #include <Windows.h>
 - #include <UserEnv.h>
 - #include <assert.h>
 - #include <stdio.h>
 - #pragma comment(lib, "userenv.lib")
 - int main()
 - {
 - HANDLE hToken = NULL;
 - BOOL ok = OpenProcessToken(GetCurrentProcess(), TOKEN_READ, &hToken);
 - assert(ok);
 - wchar_t* penv = L"";
 - ok = CreateEnvironmentBlock((void**)&penv, hToken, TRUE);
 - assert(ok);
 - while (*penv) {
 - printf("%ls\n", penv);
 - penv += wcslen(penv) + 1;
 - }
 - return 0;
 - }
 
http://blog.csdn.net/nirendao/article/details/52040232
在Windows系统上以C++打印出当前活动用户的环境变量的更多相关文章
- windows系统上安装与使用Android NDK r5 (转)
		
windows系统上安装与使用Android NDK r5 很早就听说了android的NDK应用,只是一直没有时间去研究,今天花了点时间在windows平台搭建了NDK环境,并成功运行了第一个简单 ...
 - windows系统上安装与使用Android NDK r5
		
windows系统上安装与使用Android NDK r5 很早就听说了android的NDK应用,只是一直没有时间去研究,今天花了点时间在windows平台搭建了NDK环境,并成功运行了第一个简单 ...
 - 手把手教你玩转 Gitea|在 Windows 系统上安装 Gitea
		
Gitea 支持在 Windows 系统上安装和使用.Gitea 本身作为一个单体应用程序,即点即用,如需长期驻留作为后台服务并开机运行就要依靠 Windows 服务工具 sc.exe. 通过本文,你 ...
 - 如何在Windows系统上用抓包软件Wireshark截获iPhone等网络通讯数据
		
http://www.jb51.net/os/windows/189090.html 今天给大家介绍一种如何在Windows操作系统上使用著名的抓包工具软件Wireshark来截获iPhone.iPa ...
 - 非Unicode编码的软件如何在Windows系统上运行
		
我们常常会遇到这样一种情况:点开某些日文软件(我不会说就是galgame( ╯□╰ ))会出现乱码或者直接无法运行. 出现乱码的原因很简单:编码与译码的方式不一致!!!!!!!!!!! 首先大家需要知 ...
 - 在Windows系统上一批可以下载但是需要经过编译再安装的第三方的直接编译后的版本(UCI页面)
		
在Windows系统上一批可以下载但是需要经过编译再安装的第三方的直接编译后的版本(UCI页面) (https://www.lfd.uci.edu/~gohlke/pythonlibs/) win10 ...
 - Python3: Windows系统上同时安装Python2和Python3
		
Python3: Windows系统上同时安装Python2和Python3 为什么要同时安装Python2和Python3环境呢? 因为一些库只支持Python2或者Python3; 在同一台电脑上 ...
 - 利用Python进行windows系统上的图像识别与点击(Mac OS系统也可以)
		
系统环境: 1.安装了python 2.安装了pyautogui模块 windows系统:无需安装依赖模块,在cmd中直接输入pip install pyautogui即可完成安装 Mac OS系统: ...
 - Windows系统上搭建Clickhouse开发环境
		
Windows系统上搭建Clickhouse开发环境 总体思路 微软的开发IDE是很棒的,有两种:Visual Studio 和 VS Code,一个重量级,一个轻量级.近年来VS Code越来越受欢 ...
 
随机推荐
- 三大主流ETL工具选型                                                    分类:            H2_ORACLE             2013-08-23 11:17    426人阅读    评论(0)    收藏
			
ETL(extract, transform and load)产品乍看起来似乎并不起眼,单就此项技术本身而言,几乎也没什么特别深奥之处,但是在实际项目中,却常常在这个环节耗费太多的人力,而在后续的维 ...
 - html5 背景音乐 js控制播放 暂停
			
<html> <head> <title> 测试页面 </title> <script src="jquery.min.js" ...
 - POST提交数据时四种常见的数据格式
			
最近项目部署到新环境tomcat+mysql,想看看项目部署成功没有,就用soupui调对应接口开测试,soupui使用比较简单,给上接口地址,入参xml报文,把入参的media Type设置为app ...
 - js课程  1-4   js变量的作用域是怎样的
			
js课程 1-4 js变量的作用域是怎样的 一.总结 一句话总结:只有在函数内部前面带var的变量为局部变量,局部变量只能在函数体内使用. 1.什么情况下会出现NaN类型的错误,举一例? Num ...
 - 微信开发学习日记(六):weiphp框架
			
最近重点在看weiphp这个开源的第三方微信公众平台框架. 在网上找微信资料,找到了这个.很早之前,就初步学习了Thinkphp和Onethink2个开源框架,当看到weiphp是用这2个框架开发的时 ...
 - RecyclerView的2种监听方式
			
NO.1:在自己定义适配器的ViewHolder里面写监听事件 //RecyclerView适配器 public class RecyclerViewAdapter extends RecyclerV ...
 - Android图文具体解释属性动画
			
Android中的动画分为视图动画(View Animation).属性动画(Property Animation)以及Drawable动画.从Android 3.0(API Level 11)開始. ...
 - 阿里云Java镜像:基本配置和总体说明
			
本文中的内容,来自阿里云镜像系统自带的说明. 下次不想用镜像了,感觉也没有节省多少工作量. 一.软件 1.nginx /usr/local/nginx 2.tomcat-7 /var/tomcat/ ...
 - ITFriend创业败局(五):创业可以停止,公司必须注销,不然后果很严重
			
马上又要继续出来创业做事了,想到要注册公司,有个麻烦事. 事情得回到2014年9月. 当时,由于各种因素,决定放弃ITFriend,当然也放弃了原来了公司.先是,咨询了横德瑞的陈总,关于公司注销的事. ...
 - $.ajax 请求 拦截器 重定向 无效 解决办法
			
在ajax 异步请求下 拦截器过滤器中使用 重定向 页面响应无效 我这里用的是springboot框架,用拦截器实现 对请求的拦截 ,session超时直接跳转到login.html页面. 后台代码: ...