2011-05-05 26 views
1

我使用這個功能C#禁止代理

private void SetProxy(string proxy) 
    { 
     INTERNET_PROXY_INFO IPI = new INTERNET_PROXY_INFO(); 

     IPI.dwAccessType = INTERNET_OPEN_TYPE_PROXY; 
     IPI.lpszProxy = System.Runtime.InteropServices.Marshal.StringToHGlobalAnsi(proxy); 
     IPI.lpszProxyBypass = System.Runtime.InteropServices.Marshal.StringToHGlobalAnsi("local"); 

     IntPtr intptrStruct = System.Runtime.InteropServices.Marshal.AllocCoTaskMem(System.Runtime.InteropServices.Marshal.SizeOf(IPI)); 


     System.Runtime.InteropServices.Marshal.StructureToPtr(IPI, intptrStruct, true); 
     InternetSetOption(IntPtr.Zero, INTERNET_OPTION_PROXY, intptrStruct, System.Runtime.InteropServices.Marshal.SizeOf(IPI)); 
    } 

設置我的WebBrowser控件的代理,但我不能禁用/刪除之後的代理,只將其交換爲另一個代理。我怎樣才能完全刪除代理。 已經由註冊表嘗試過。

沒有明確的鏈接作爲答案。

+0

你爲什麼不只是只是,當你想使用代理和webproxy當你想使用沒有Web代理的連接,只需創建它沒有代理? – soandos 2011-05-05 19:16:59

+0

我沒有在webrequest上使用它,我在webbrowser控件上使用它。 – Drake 2011-05-05 19:19:04

回答

0

嘗試設置

IPI.dwAccessTypeINTERNET_OPEN_TYPE_DIRECT

+0

工作就像一個魅力,感謝一羣:] – Drake 2011-05-05 19:45:50

+0

只是想知道,你知道一個快速的方法來知道代理踢了,因爲我必須刷新控制兩次才生效。 – Drake 2011-05-05 19:49:51

+0

@對不起,我不知道。 – 2011-05-05 19:50:57