【问题标题】:Windows 7 install program, refresh path environment variableWindows 7 安装程序,刷新路径环境变量
【发布时间】:2023-03-29 03:40:01
【问题描述】:

我的应用程序有一个 MSI 安装程序,它会向路径环境变量写入一些内容,但在我重新启动或手动进入环境变量并单击确定之前不会在 Windows 中“刷新”。

我的客户要求我们解决这个问题。

安装程序有限,但我可以选择在安装完成后运行批处理文件或 VBScript。

有人知道我可以使用的命令或功能吗?

【问题讨论】:

    标签: vbscript windows-installer


    【解决方案1】:

    如果重启不是一个选项,你可以尝试杀死 explorer.exe 的每个实例,但我认为这也是不可接受的。

    正确的做法是向所有最顶层的窗口发送消息以通知环境的变化。但我不知道操作系统中有什么可以做到这一点。如果您可以包含 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 编译它,并且似乎可以正常工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-01-03
      • 2015-02-16
      • 2016-03-05
      • 1970-01-01
      • 2011-05-22
      • 2020-05-31
      • 2020-05-29
      相关资源
      最近更新 更多