【发布时间】:2017-03-01 20:02:53
【问题描述】:
我正在编写一个安装脚本(在 node.js 中,特别是 slush/gulp,尽管我认为这并不重要),它在我们的开发人员机器上设置了一些常用工具。
对于这些工具之一,我需要修改 Windows 机器上的 PATH 环境变量。
到目前为止,我发现最好的方法是使用 winreg 包直接修改注册表(在 HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\Path 中),效果很好(除了需要在提升的命令提示符)。
但是,它需要重新启动计算机才能使新的 PATH 生效(甚至不像通常那样只打开一个新的命令提示符),或者将用户发送到他们的系统首选项以打开环境变量对话框框,然后单击“确定”。
This detailed answer 涵盖了当您以编程方式更改环境变量时需要在后台发生的一些事情。我假设在该环境变量对话框中单击“确定”时,WM_SETTINGCHANGE 消息 (details here) 已发送到系统。
那么,我该如何从 node.js 发送 WM_SETTINGCHANGE 消息?这可能吗?
【问题讨论】:
标签: node.js windows path environment-variables