您的位置:首页 > 其它

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)

 

环境变量生效!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  null api