找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 2808|回复: 6

[问题求助] 为啥设置一个用户环境变量要好几秒啊?

[复制链接]
发表于 2026-8-10 19:44:16 | 显示全部楼层 |阅读模式
为啥设置一个用户环境变量要好几秒啊?
  1. Measure-Command {
  2. [Environment]::SetEnvironmentVariable("TEST_VAR", "test_value", "User")
  3. }
复制代码
发表于 2026-8-10 20:41:42 | 显示全部楼层
因为要广播到所有进程。刚开机的时候进程少,速度快点
 楼主| 发表于 2026-8-10 21:46:42 | 显示全部楼层
cutebe 发表于 2026-8-10 20:41
因为要广播到所有进程。刚开机的时候进程少,速度快点

有没有办法极速设置?
发表于 2026-8-17 13:29:39 | 显示全部楼层
小白龙 发表于 2026-8-10 21:46
有没有办法极速设置?

试试直接操作注册表,然后根据需要重启有关进程(explorer.exe等)
发表于 昨天 18:47 | 显示全部楼层
直接用 cmd 的 setx
 楼主| 发表于 昨天 20:56 | 显示全部楼层
Five66 发表于 2026-8-31 18:47
直接用 cmd 的 setx

这个不能即时生效吧, 要重启才能生效
发表于 昨天 21:59 | 显示全部楼层
本帖最后由 77七 于 2026-8-31 22:17 编辑

AI:(本地测了速,其它情况不知)
标准 HWND_BROADCAST + SendMessageTimeout 会因慢窗口逐个累计超时。
改成 EnumWindows 枚举所有顶层窗口,再并行调用 SendMessageTimeout,128 并行广播,提速近 12 倍。
仍然是通知全部顶层窗口,只是把原来的串行等待改为了并行等待。


test.rar (1.33 KB)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-9-1 11:57

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表