Board logo

标题: VBS如何不执行注销使修改注册后立即生效 [打印本页]

作者: newxso    时间: 2009-3-6 23:43     标题: VBS如何不执行注销使修改注册后立即生效

Windows 大多的设置都可以通过修改注册表来完成,但修改注册表后需要注销或重启才生效。如果不注销和重启,通常我们用终止 explorer.exe 进程的方式来刷新注册表,使对其的修改立即生效。如果不用此方式,能否通过VBS或第三方工具使对注册表的修改马上生效呢?
作者: Batcher    时间: 2009-3-7 00:51

具体问题,具体分析。

有些注册表键值修改后可以直接生效。
有些注册表键值修改后需要重启explorer生效。
有些注册表键值修改后必须重启或者注销才能生效。
作者: tireless    时间: 2009-3-7 14:58

试试 nircmd.exe

shellrefresh

Initiate a general refersh for Windows Explorer. This refresh command can be useful if you make a change in the Registry related to the shell file types (For example, if you change the icon of .gif extension), and you want that your changes will take affect immediately.
==================================================================
sysrefresh {Refresh Type}

Initiate a general system refresh. You can use this command to refresh your system after changing your system settings in the Registry (e.g: changing desktop icons size, environment variables, and so on..) {Refresh Type} is optional. You can specify one of the following values: "environment" - for refreshing the environment variables, "policy" - for policy settings, "intl" for locale settings.
Examples:
sysrefresh
sysrefresh environment
sysrefresh policy

作者: newxso    时间: 2009-3-9 11:28

nircmd 可以刷新部分设置,如果修改有关输入法(HKEY_CURRENT_USER\Keyboard Layout\Preload)就非要注销不可。imetool.exe 这个工具就能删除和添加输入法后立即生效。可能它不是直接去改注册表,而是利用什么 rundll32.exe 。。。之类的方法。
作者: Batcher    时间: 2009-3-9 13:40     标题: 回复 4楼 的帖子

rundll32.exe也只是能够对部分注册表项有用,它并不是万能的。




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2