zoukankan      html  css  js  c++  java
  • 如何在应用程序中修改本地环境变量

    对于环境变量的访问,Windows提供了两个API,但这两个API对环境变量的操作仅对当前进程有效,并不会影响操作系统中的环境变量。

    1 BOOL SetEnvironmentVariable(
    2   LPCTSTR lpName,  // environment variable name
    3   LPCTSTR lpValue  // new value for variable
    4 );
    5 DWORD GetEnvironmentVariable(
    6   LPCTSTR lpName,  // environment variable name
    7   LPTSTR lpBuffer, // buffer for variable value
    8   DWORD nSize      // size of buffer
    9 );

    那么想要修改操作系统中的本地环境变量,应该怎么做呢?

    一、修改环境变量对应的注册表键值;

    1)其中当前用户的环境变量对应于项HKEY_CURRENT_USEREnvironment;

    2)系统环境变量对应于项HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerEnvironment。

    二、通知操作系统更新设置。

    1 //广播通知所有窗口更新环境变量,超时立即返回
    2 ::SendMessageTimeout(HWND_BROADCAST, WM_SETTINGCHANGE, 0, LPARAM(_T("Environment")), SMTO_BLOCK, 5000, NULL);

    根据以上思路,我用VC编写了一个操作环境变量的类CEnvironment。
    源代码下载:http://pan.baidu.com/s/1kT4HnWN

  • 相关阅读:
    刚好遇见你——软件工程
    int main(int argc,char* argv[]) 简单理解
    奇偶数分离
    A+B Problem
    日期计算
    正三角形的外接圆面积
    数数小木块
    谁是最好的Coder
    水仙花数
    5个数求最值
  • 原文地址:https://www.cnblogs.com/cpper-kaixuan/p/3532726.html
Copyright © 2011-2022 走看看