修改注册表中IE的相关设置后,如何立即生效?(100)

云虎

Unregistered / Unconfirmed
GUEST, unregistred user!
我在程序中修改了注册表中IE的相关设置后,想通过SendMessage(HWND_BROADCAST, WM_SETTINGCHANGE, 0, 0);语句使得修改立即生效,但是却发现尽管注册表修改正确,刷新页面后却发现修改没有生效。请各位大侠指教,谢谢。
 
同问。似乎有的选项会立即生效。我也想知道究竟是否需要发个消息广播一下?
 
注册表生效就是上面的方法阿。
 
对啊,我也这么认为的,但是更改完后,接着向浏览器窗口发送刷新消息,网页没有任何改变。
 
重启后立即生效
 
不至于必须得重启吧?在IE属性窗口中修改属性点击“确定”按钮退出之后再刷新网页,IE属性就能立即生效啊。
 
估计不是所有的属性都可以直接生效。我记得有的和IE相关的软件,都要求要将IE关闭,这样才能成功。
 
SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, NiL, NiL);刷新系统,马上生效
 
还是不行呢。注册表中关于windows系统本身的一些修改是可以的。谢谢perock老兄。
 
SendMessage(HWND_BROADCAST, WM_WININICHANGE, 0, 0);这个能行。
 
这个我试过了,没有效果。谢谢pykl。
 
SendMessage(FindWindow('Progman', 'Program Manager'), WM_COMMAND, 106597, 0);
 
这个就相当于按F5吧?没有用啊。
 
杀死explorer.exe进程,再运行一下%windows%/explorer.exe
 
重启才会生效 , 你开启IE的时候,是个读的过程,在此后IE不会在读注册表,更改设置会改变IE属性,然后改变注册表 ,这期间,以及刷新期间不会再读注册表。 是你写程序也不会老读很多设置的注册表的呀
 
谢谢各位的热心帮助。但是,在IE属性窗口中修改属性后点击“确定”按钮退出属性窗口,然后再刷新网页,IE属性就能立即生效啊。
 
应用程序中修改属于硬刷新,是直接修改程序内部属性设置,注册表中的信息是存储位,不是应用程序的内部属性,所以程序会直接反应改变;但程序也会在退出时修改注册表,则下次启动程序初始化时读取注册表信息时会反映上次对程序属性的修改。
 

Similar threads

D
回复
0
查看
736
DelphiTeacher的专栏
D
D
回复
0
查看
712
DelphiTeacher的专栏
D
D
回复
0
查看
682
DelphiTeacher的专栏
D
S
回复
0
查看
958
SUNSTONE的Delphi笔记
S
S
回复
0
查看
779
SUNSTONE的Delphi笔记
S
顶部