| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2200 人关注过本帖
标题:[求助]在VB中如何刷新注册表信息
只看楼主 加入收藏
vbb
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2007-8-26
收藏
 问题点数:0 回复次数:8 
[求助]在VB中如何刷新注册表信息
一些注册表的设置,往往要右键“刷新”或者重启EXPLORER.EXE进程才能更新。在VB中如何才能自动刷新系统设置。由于我才学VB,所以请前辈给段完整而简洁的代码,不胜感激。


比如说“文件夹选项”里的“显示所有文件和文件夹”,更改了注册表相应的键值后,在资源管理器里要右键“刷新”才能生效。

[此贴子已经被作者于2007-8-26 10:21:52编辑过]

搜索更多相关主题的帖子: 注册表 
2007-08-26 10:13
multiple1902
Rank: 8Rank: 8
等 级:贵宾
威 望:42
帖 子:4881
专家分:671
注 册:2007-2-9
收藏
得分:0 
shell "taskkill /im explorer.exe"
shell "explorer.exe"

这样做有意义吗?
显示了所有文件之后用户必然会刷新呀
2007-08-26 10:43
slore
Rank: 5Rank: 5
等 级:贵宾
威 望:16
帖 子:1108
专家分:0
注 册:2005-7-1
收藏
得分:0 
比如说“文件夹选项”里的“显示所有文件和文件夹”,更改了注册表相应的键值后,在资源管理器里要右键“刷新”才能生效。

手动选的话,系统刷新的……

快上课了……
2007-08-26 10:58
vbb
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2007-8-26
收藏
得分:0 
谢谢两位版主的回复。
是我没把问题说清楚。我的意思是,比如说我现在打开一个资源管理器,在“文件夹选项”里,选择了“显示所有文件和文件夹”,如何用vb程序把它改为“不显示隐藏的文件和文件夹”,并在我的资源管理器里马上能看到更改后的效果?

由于是昨天才学的vb,所以我不懂。我想通过修改相应的注册表键值,然后调用系统函数或者别的手段,刷新所有顶层的窗口。昨天查了一天的资料,还是没解决。请各位前辈指点迷津。

从multiple1902版主那里偷学到一点,“ shell "" ”这个很好用,我的一些命令可以派上用场了。谢谢了。
2007-08-26 11:24
simpson
Rank: 3Rank: 3
等 级:论坛游民
威 望:7
帖 子:863
专家分:17
注 册:2006-11-16
收藏
得分:0 
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, _
ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Const HWND_BROADCAST = &HFFFF&
Const WM_SETTINGCHANGE = &H1A

Private Sub Command1_Click()
SendMessage HWND_BROADCAST, WM_SETTINGCHANGE, 0, 0
End Sub



试试啦 我也不知道这个行不行,

全国最大的 Java专业电子书免费分享[url]http:///in.asp?id=xrmao[/url]
2007-08-26 11:29
vbb
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2007-8-26
收藏
得分:0 
谢谢simpson。
可能是我自己不会用,不过你这段代码很好用。昨天我也搜索到了,就是不知道放到哪里,看来今天放对地方了。没有出错提示了。而且我注意到输入法键盘会重新载入。谢谢了。
2007-08-26 12:07
multiple1902
Rank: 8Rank: 8
等 级:贵宾
威 望:42
帖 子:4881
专家分:671
注 册:2007-2-9
收藏
得分:0 
以下是引用simpson在2007-8-26 11:29:29的发言:
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, _
ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Const HWND_BROADCAST = &HFFFF&
Const WM_SETTINGCHANGE = &H1A

Private Sub Command1_Click()
SendMessage HWND_BROADCAST, WM_SETTINGCHANGE, 0, 0
End Sub



试试啦 我也不知道这个行不行,

我也不敢多发表意见

你这个纯属望文生义?

2007-08-26 12:48
simpson
Rank: 3Rank: 3
等 级:论坛游民
威 望:7
帖 子:863
专家分:17
注 册:2006-11-16
收藏
得分:0 



我确实没试过 ,


全国最大的 Java专业电子书免费分享[url]http:///in.asp?id=xrmao[/url]
2007-08-26 12:57
multiple1902
Rank: 8Rank: 8
等 级:贵宾
威 望:42
帖 子:4881
专家分:671
注 册:2007-2-9
收藏
得分:0 
BROADCAST 多播
SETTINGCHANGE 设置改变……

就算编程不能用流利的中文描述 要是能用英文像写文章一样写程序也不错
2007-08-26 13:12
快速回复:[求助]在VB中如何刷新注册表信息
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.079277 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved