zoukankan      html  css  js  c++  java
  • 在Windows系统上以C++打印出当前活动用户的环境变量

    在Windows系统上以C++打印出当前活动用户的环境变量,代码如下(QT环境):

    [cpp] view plain copy
     
    1. void getEnvironmentVariables()  
    2. {  
    3.     DWORD sessionId = WTSGetActiveConsoleSessionId();  
    4.     qInfo() << "Session ID = " << sessionId;  
    5.   
    6.     HANDLE token;  
    7.     if (!WTSQueryUserToken(sessionId, &token))  
    8.     {  
    9.         qCritical() << "Failed to get the user token of session " << sessionId;  
    10.     }  
    11.   
    12.   
    13.     wchar_t* pEnv = NULL;  
    14.     if (CreateEnvironmentBlock((void**)&pEnv, token, TRUE))  
    15.     {  
    16.         while (*pEnv) {  
    17.             // printf("%ls ", pEnv);  
    18.             qInfo() << QString::fromWCharArray(pEnv);  
    19.             pEnv += wcslen(pEnv) + 1;  
    20.         }  
    21.     }  
    22. }  


    以上是打印当前活动用户(active user)的。

    如果仅仅是是打印当前进程所处环境的环境变量,见Visual Studio的代码如下:

    [cpp] view plain copy
     
      1. #include <Windows.h>  
      2. #include <UserEnv.h>  
      3. #include <assert.h>  
      4.   
      5. #include <stdio.h>  
      6.   
      7. #pragma comment(lib, "userenv.lib")  
      8.   
      9. int main()  
      10. {  
      11.     HANDLE hToken = NULL;  
      12.     BOOL ok = OpenProcessToken(GetCurrentProcess(), TOKEN_READ, &hToken);  
      13.     assert(ok);  
      14.   
      15.     wchar_t* penv = L"";  
      16.     ok = CreateEnvironmentBlock((void**)&penv, hToken, TRUE);  
      17.     assert(ok);  
      18.   
      19.     while (*penv) {  
      20.         printf("%ls ", penv);  
      21.         penv += wcslen(penv) + 1;  
      22.     }  
      23.     return 0;  
      24. }  

    http://blog.csdn.net/nirendao/article/details/52040232

  • 相关阅读:
    Elasticsearch 搭建
    P137、面试题23:从上往下打印二叉树
    数组高级应用—排序与查找
    Java API ——StringBuffer类
    Java API ——String类
    P134、面试题22:栈的压入、弹出序列
    P132、面试题21:包含min函数的栈
    P127、面试题20:顺时针打印矩阵
    P125、面试题19:二叉树的镜像
    Java API ——Scanner类
  • 原文地址:https://www.cnblogs.com/findumars/p/7296519.html
Copyright © 2011-2022 走看看