ZC: 我的示例代码(Delphi):http://www.cnblogs.com/CodeSkill/p/8341464.html

1、资料:

  如何用代码设置环境变量?-CSDN论坛.html(http://bbs.csdn.net/topics/50445308

  如何修改Windows系统环境变量 _ 蓝讯.html(http://www.lxway.com/261806661.htm

  How to propagate environment variables to the system.html(https://support.microsoft.com/en-us/help/104011/how-to-propagate-environment-variables-to-the-system

  1.1、SetEnvironmentVariable --> 无法影响到 系统环境变量(∴ 用它修改的话,在 "???-->系统属性-->环境变量" 的窗口里面是看不到对应的变化的)

  1.2、直接修改 注册表 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment 里面的键值(要想所有窗口都立即知道环境变量改变了的话,就需要广播[下面资料里面有])

    ZC: 在 CSDN的帖子里面 提到 HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Session Manager\Environment\path,自己弄了一下,这里改了的话 "环境变量"里面的值也会变。测试了一下:"...\CurrentControlSet\...\Environment"和"...\ControlSet001\...\Environment" 中的值,不管修改哪边的键值,另一边是会跟着变的,但是 保守起见 还是用 MSDN里面官方说的地方吧...

  1.3、CSDN的帖子里 还提到一个函数:ExpandEnvironmentStrings,未做测试 也未查看相关资料...

2、MSDN中的资料:(https://support.microsoft.com/en-us/help/104011/how-to-propagate-environment-variables-to-the-system

How to propagate environment variables to the system


Summary


You can modify user environment variables by editing the following Registry key:

   HKEY_CURRENT_USER \ 
Environment

You can modify system environment variables by editing the following Registry key:

   HKEY_LOCAL_MACHINE \ 
SYSTEM \
CurrentControlSet \
Control \
Session Manager \
Environment

Note that any environment variable that needs to be expanded (for example, when you use %SYSTEM%) must be stored in the registry as a REG_EXPAND_SZ registry value. Any values of type REG_SZ will not be expanded when read from the registry.

Note that RegEdit.exe does not have a way to add REG_EXPAND_SZ. Use RegEdt32.exe when editing these values manually.

However, note that modifications to the environment variables do not result in immediate change. For example, if you start another Command Prompt after making the changes, the environment variables will reflect the previous (not the current) values. The changes do not take effect until you log off and then log back on.

To effect these changes without having to log off, broadcast a WM_SETTINGCHANGE message to all windows in the system, so that any interested applications (such as Windows Explorer, Program Manager, Task Manager, Control Panel, and so forth) can perform an update.

More Information


For example, on Windows NT-based systems, the following code fragment should propagate the changes to the environment variables used in the Command Prompt:

   SendMessageTimeout(HWND_BROADCAST, WM_SETTINGCHANGE, 0,
(LPARAM) "Environment", SMTO_ABORTIFHUNG,
5000, &dwReturnValue);

None of the applications that ship with Windows 95 and Windows 98, including Windows Explorer and Program Manager, respond to this message. Thus, while this article can technically be implemented on Windows 95 and Windows 98, there is no effect except to notify third-party applications. The only method of changing global environment variables on Windows 95 is to modify the autoexec.bat file and reboot.

 

Last Updated: Jan 8, 2017
 
 

3、

4、

5、

Windows.环境变量(设置)的更多相关文章

  1. Windows环境变量设置无效解决办法——DOS窗口设置环境变量

    公司配置的电脑是Win7,使用的账户并不是管理员账户,我在计算机->属性中设置环境变量无效. 后来在DOS窗口中设置环境变量成功. 1. set [环境变量名称]=[所有环境变量值]:set P ...

  2. MySQL Windows环境变量设置

    问题:MySQL无法全局使用 1.查找MySQL路径 2.添加环境变量 3.验证功能

  3. Windows 7下java SDK下载、安装及环境变量设置

    第一步:下载Java JDK   1 登录官网站下载正版JDK   2 点击"SDK Download"进入Java JDK下载页面 注明: Java JDK和Java JRE区别 ...

  4. (转)windows 下 Java 及 Python 环境变量设置

    转自:http://www.cnblogs.com/zhj5chengfeng/archive/2013/01/01/2841253.html http://www.cnblogs.com/qiyes ...

  5. 通过修改注册表设置windows环境变量

    开发环境搭建每次都要设置很多环境变量, 一般是通过  [菜单]->[计算机]->[属性]->[高级设置]->[环境变量]进行设置,重装系统后,每次都要设置很多环境变量,很麻烦. ...

  6. 【转】Windows 平台下 Go 语言的安装和环境变量设置

    1. Go 语言 SDK 安装包下载和安装 最新稳定版 1.5.3 安装包 go1.5.3.windows-amd64.msi下载地址 https://golang.org/dl/,大小约 69 MB ...

  7. windows和linux-JDK环境变量设置

    Windows环境变量添加或修改以下内容: JAVA_HOME=C:\Program Files\Java\jdk1..0_43 --注意修改路径 CLASSPATH=.;%JAVA_HOME%\li ...

  8. Windows 平台下 Go 语言的安装和环境变量设置

    1. Go 语言 SDK 安装包下载和安装 最新稳定版 1.5.3 安装包 go1.5.3.windows-amd64.msi下载地址 https://golang.org/dl/,大小约 69 MB ...

  9. GO语言学习(一)Windows 平台下 Go 语言的安装和环境变量设置

    1. Go 语言 SDK 安装包下载和安装 GO语言安装包下载地址:https://www.golangtc.com/download 下载 go1.9.2.windows-amd64 2. Go 语 ...

随机推荐

  1. makefile 变量展开

    Makefile中给变量赋值: =     是递归展开式变量 value1 = 5 value2 = $(value1) value1 = 6 最终$(value2)就变成了6 :=    是直接展开 ...

  2. scrapy进阶(CrawlSpider爬虫__爬取整站小说)

    # -*- coding: utf-8 -*- import scrapy,re from scrapy.linkextractors import LinkExtractor from scrapy ...

  3. sqlloader parallel调用报ORA-26002: table has index defined upon it.解决方法

    ORA-26002: table has index defined upon it. This issue is caused when using the bulk load option in ...

  4. amqp 抓包

    1. wireshark 2. tcpick -yR -r  file.name

  5. day5 python

    一.常量 在Python中没有一个专门的语法代表常量,程序员约定俗成用变量名全部大写代表常量.AGE_OF_OLFBOY=73二.基本运算符的补充1.算数运算符 print(10/3) print(1 ...

  6. Oracle SQL——inner jion;left join;right join的区别和使用场景

    背景 在一次面试的时候,面试官让我说一下这三者的使用场景和区别,当时瞬间懵逼,哈哈.回来赶快看一看,记下来. 详解 inner join 等值查询:返回两张表中,联结字段值相等的组合记录 举例:所有学 ...

  7. CentOS7使用命令连接网络配置

    背景 在安装完CentOS7无桌面的情况下,无法使用桌面图标连接,如下图所示,这时我们需要在配置文件中配置网络连接信息. 步骤 查看ip地址:ifconfig PS:在未连接网络之前,我们是查看不到i ...

  8. Flask学习【第1篇】:Flask介绍

    Flask介绍(轻量级的框架,非常快速的就能把程序搭建起来) Flask是一个基于Python开发并且依赖jinja2模板和Werkzeug WSGI服务的一个微型框架,对于Werkzeug本质是So ...

  9. Android灯光系统框架分析【转】

    本文转载自: 首先别人的APP要能直接访问到你写的硬件或者不经过任何修改的APP能直接使用你的驱动,就需要使用系统自带的JNI,所以我们需要写出符合系统自带JNI文件的HAL文件和驱动程序,下面具体分 ...

  10. ubuntu18.04无法安装libesd0-dev【学习笔记】

    执行如下命令安装: sudo apt-get install libesd0-dev 却报了这个错误: 解决办法: sudo vim /etc/apt/sources.list //在行尾添加如下两行 ...