修改注册表后如何不重启生效

baregod 2006-12-02 09:30:56
不通过杀死explorer进程,有什么方法可以达到目的?
...全文
327 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zsj1101 2006-12-04
  • 打赏
  • 举报
回复
看清了我上面寫的沒有啊:“不是所有的操作都可以立即生效,有些操作需要重
新啟動Windows或重新啟動軟件。”這是Windows進程機制所決寫的。不過樓主可以用程序結束這個進程,然后再創建新的進程。
waidiren2005 2006-12-03
  • 打赏
  • 举报
回复
恩 学习拉1
baregod 2006-12-03
  • 打赏
  • 举报
回复
谢谢zsj1101的回复,不过这些效果不大啊,比如我不让ie下载,任务栏和桌面上右键无效,不杀死explorer达不到目的!!
zsj1101 2006-12-02
  • 打赏
  • 举报
回复
讓對注冊表修改的結果立即生效

需要在修改注冊表後廣播發送WM_SETTINGCHANGE消息(在Windows NT下為WM_WININICHANGE消息)。
如果使用SystemParametersInfo 修改繫統設置,最後一個參數應設置為SPIF_SENDWININICHANGE。這
樣,有關程序接收到該消息采取相應的操作,不過不是所有的操作都可以立即生效,有些操作需要重
新啟動Windows或重新啟動軟件。

Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, _
ByVal wMsg As Long, _
ByVal wParam As Long, _
lParam As Any) As Long
Sub test()
Const WM_WININICHANGE = &H1A
Const WM_SETTINGCHANGE=&H1A
Call SendMessage(Me.hwnd, WM_SETTINGCHANGE, 0, 0)
End Sub

1,486

社区成员

发帖
与我相关
我的任务
社区描述
VB API
社区管理员
  • API
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧