是否有哪个api可用?

解决方案 »

  1.   

    回...fish: 
         目标是不重新启动ie!....
      

  2.   

    呵呵,有些软件安装连windows都要重启呢,
      

  3.   

    但是,如果1个ie实例修改了设置,其他ie的设置也立即改变! 不必重新启动...
    这是怎么作的?
      

  4.   

    用SendMessageTimeout发送WM_SETTINGCHANGE消息给HWND_BROADCAST如何?
      

  5.   

    我的意思不是说发个WM_SETTINGCHANGE,所有应用程序就会一定做出相应的动作如果你特指IE的话,好像IE在更改了选项之后也要重新启动一次才行哦
      

  6.   

    回绿豆: 
     ie在更改选项后不必重新启动,其他ie实例的设置自动改变了.不知道ie怎么作的. 有没有监视消息的软件能监控一下?
    我用 spy++ 监控不到, 不知道是不是spy++不行,还是ie另有高招可以通知其他实例?
      

  7.   

    大概每次你打开IE的Internet选项时,IE就会从注册表里重新读一次设置,故而出现你说的 “ie在更改选项后不必重新启动,其他ie实例的设置自动改变了.”
      

  8.   

    不是的,同时有N个IE窗口运行,其中一个设置(网络设置,比如说代理服务器)改变了,其它的也都改变。
      

  9.   

    我找到了解决方法:
    Option ExplicitPrivate Declare Function InternetSetOption Lib "wininet.dll" Alias "InternetSetOptionA" (ByVal hInternet As Long, ByVal lOption As Long, ByRef sBuffer As Any, ByVal lBufferLength As Long) As Integer
    Private Const INTERNET_OPTION_SETTINGS_CHANGED = 39Function ChangeSetInstant()
        InternetSetOption 0&, INTERNET_OPTION_SETTINGS_CHANGED, 0&, 0
    End Function调用ChangeSetInstant函数即可实现你所要的功能
      

  10.   

    SendMessageTimeout发送WM_SETTINGCHANGE消息给HWND_BROADCAST对于IE是不好使的。
    楼主可以结贴了吧?