VC修改环境变量, 不重启系统, 即时生效.
2011-01-12 00:01
429 查看
修改环境变量的操作不是本次讲述的重点, CSDN上有很多文章都描述了修改环境变量的方法, 作者通常是通过修改注册表:
"HKEY_CURRENT_USER/Environment" 键下的各参数.
涉及到的API函数有:RegOpenKeyEx, RegQueryValueEx, RegSetValueEx; 相关函数的用法可以参考MSDN.
本次讨论的重点:
作者通过这几个函数修改环境变量后, 使用了PostMessage(HWND_BROADCAST, WM_SETTINGCHANGE , NULL, NULL),但结果是环境变量并没有生效.
再使用SendMessageTimeout(HWND_BROADCAST, WM_SETTINGCHANGE , NULL, (LPARAM)"Environment",SMTO_NORMAL, 1000, &dwResult
)
最后使用:
SendMessageTimeout(HWND_BROADCAST, WM_SETTINGCHANGE , NULL, (LPARAM)"Environment", SMTO_NOTIMEOUTIFNOTHUNG, 1000, &dwResult)
环境变量生效!
"HKEY_CURRENT_USER/Environment" 键下的各参数.
涉及到的API函数有:RegOpenKeyEx, RegQueryValueEx, RegSetValueEx; 相关函数的用法可以参考MSDN.
本次讨论的重点:
作者通过这几个函数修改环境变量后, 使用了PostMessage(HWND_BROADCAST, WM_SETTINGCHANGE , NULL, NULL),但结果是环境变量并没有生效.
再使用SendMessageTimeout(HWND_BROADCAST, WM_SETTINGCHANGE , NULL, (LPARAM)"Environment",SMTO_NORMAL, 1000, &dwResult
)
最后使用:
SendMessageTimeout(HWND_BROADCAST, WM_SETTINGCHANGE , NULL, (LPARAM)"Environment", SMTO_NOTIMEOUTIFNOTHUNG, 1000, &dwResult)
环境变量生效!
相关文章推荐
- VC编程获取和修改环境变量,不重启系统即时生效
- 用java实现修改系统的环境变量并使其不需重启就生效
- 用java实现修改系统的环境变量并使其不需重启就生效
- Ubuntu - 修改环境变量导致无法登录系统
- BAT 修改系统环境变量
- bat脚本设置系统环境变量即时生效
- Linux系统下修改环境变量PATH路径的方法
- 如何不重启电脑使得修改之后的环境变量有效
- 杂谈系统与VC中的环境变量
- ubuntu系统下关于环境变量的修改
- windows7 修改环境变量 和 用不用重启电脑的讨论
- vc 获得和设置系统环境变量
- mac系统下修改jdk环境变量配置 关闭tomcat进程
- 详解Windows不重启使环境变量修改生效(经典)
- Windows 10 修改系统环境变量后,CMD生效,Powershell未生效
- Windows不重启就使环境变量修改生效
- Windows下修改环境变量后需不需要重启电脑的问题
- linux修改环境变量失误,进不了系统的问题
- 通过bat脚本修改环境变量并且不用重启立即生效
- Win7不重启系统 使修改后的环境变量生效