更新环境变量值时是否会触发Windows事件?如果是这样,它的事件ID是什么?
修改
用例是我有一个应用程序在启动时接收环境变量的当前值的副本,并且我希望它能够监听事件以提醒它事实此环境变量可能具有新值。我想知道是否有这样的事件。
答案 0 :(得分:0)
收听WM_SETTINGCHANGE
消息是判断环境变量何时更改的标准方法:
要对系统或用户的环境变量进行更改,请将lParam设置为字符串“Environment”来广播此消息。
例如,这就是Explorer知道环境变量何时被更改的方式。每次启动应用程序时,它都不会检查新变量或已更改的变量,只有当它看到WM_SETTINGCHANGE
消息时才会检查。
如果您正在使用.NET,则according to this answer WM_SETTINGCHANGE
消息将转换为SystemEvents.UserPreferenceChanged Event。