2013-03-15 89 views
0

變化對Windows註冊表不會立即生效更改不會立即生效

我想通過以下2的代碼更改IE的代理設置網頁摘要

使能由代理這個代碼

from winreg import * 
with OpenKey(HKEY_CURRENT_USER,r"Software\Microsoft\Windows\CurrentVersion\Internet Settings" ,0, KEY_ALL_ACCESS) as key: 
    SetValueEx(key,"ProxyServer",0, REG_SZ, "127.0.0.1:8087") 
    SetValueEx(key,"ProxyEnable",0, REG_DWORD, 1) 
    SetValueEx(key,"ProxyOverride",0, REG_SZ, "<local>") 
FlushKey(key) 

這段代碼

from winreg import * 
with OpenKey(HKEY_CURRENT_USER,r"Software\Microsoft\Windows\CurrentVersion\Internet Settings" ,0, KEY_ALL_ACCESS) as key: 

    DeleteValue(key,"ProxyServer") 
    SetValueEx(key,"ProxyEnable",0, REG_DWORD, 0) 
    DeleteValue(key,"ProxyOverride") 
    FlushKey(key) 
禁用代理

但在Windows註冊表的變化不立即生效,所以有一些方法來更改Windows註冊表,並讓更改立即生效,而無需重新啓動IE?

順便說一下,我使用winxp上的代碼,我將在我的PyQt應用程序中嵌入2個代碼片段。

回答

0

讓我們嘗試這樣:我恨太重啓,並與他們作鬥爭,所以,你可以嘗試卸載ieplore.dll,然後重新加載它,但沒有崩潰的IE瀏覽器。提到的* .dll是IE的一個核心,並且非常棘手,例如,* .chm文件在沒有IE的情況下加載它,並且如果URL在裏面,它會打開並加載,而您不會看到IE進程在運行任務管理器。

0

根據你以後的情況,完全重新啓動似乎沒有必要。只要打開新的Internet Explorer,就會將這些設置應用於新的Internet Explorer以及任何其他應用程序(如Firefox)。

如果您正在編寫腳本,您可能需要創建一個帶有嵌入式Internet Explorer的隱藏窗口。

再一次,根據你以後的情況,可能有準備好的工具可以做到這一點。它解決了我的需求:我現在使用IE Proxy Toggle