我有一个针对我的应用程序的MSI安装程序,它将一些内容写入路径环境变量,但在Windows重新启动或手动进入环境变量并单击“确定”之前,它不会在Windows中“刷新”.
我的客户要求我们解决这个问题.
安装程序有限,但我可以选择在安装完成后运行批处理文件或VBScript.
有人知道我可以使用命令或功能吗?
如果重启不是一个选项,你可以尝试杀死explorer.exe的每个实例,但我认为这也是不可接受的.
原文链接:/windows/371976.html正确的做法是向所有最顶层的窗口发送消息,以证明环境中的更改.但我不知道操作系统中有什么可以做到的.如果你可以包含一个exe并且可以访问c编译器,那么这应该可以解决问题
#include "windows.h" void main(void) { SendMessageTimeout( HWND_BROADCAST,WM_SETTINGCHANGE,(WPARAM) NULL,(LPARAM) "Environment",SMTO_NORMAL,1000,NULL ); }
我试过用Windows 7 64中的mingw / gcc编译它,似乎没有问题.