c#设置取消ie代理服务器
public struct Struct_INTERNET_PROXY_INFO { public int dwAccessType; public IntPtr proxy; public IntPtr proxyBypass; }; [DllImport("wininet.dll", SetLastError = true)] private static extern bool InternetSetOption(IntPtr hInternet, int dwOption, IntPtr lpBuffer, int lpdwBufferLength); public static bool RefreshIESettings(string strProxy) { const int INTERNET_OPTION_PROXY = 38; const int INTERNET_OPEN_TYPE_PROXY = 3; const int INTERNET_OPEN_TYPE_DIRECT = 1; Struct_INTERNET_PROXY_INFO struct_IPI; // Filling in structure if (string.IsNullOrEmpty(strProxy)) { struct_IPI.dwAccessType = INTERNET_OPEN_TYPE_DIRECT; } else { struct_IPI.dwAccessType = INTERNET_OPEN_TYPE_PROXY; } struct_IPI.proxy = Marshal.StringToHGlobalAnsi(strProxy); struct_IPI.proxyBypass = Marshal.StringToHGlobalAnsi("local"); // Allocating memory IntPtr intptrStruct = Marshal.AllocCoTaskMem(Marshal.SizeOf(struct_IPI)); // Converting structure to IntPtr Marshal.StructureToPtr(struct_IPI, intptrStruct, true); bool iReturn = InternetSetOption(IntPtr.Zero, INTERNET_OPTION_PROXY, intptrStruct, Marshal.SizeOf(struct_IPI)); return iReturn; }
posted on 2012-05-11 15:59 HOT SUMMER 阅读(1314) 评论(0) 编辑 收藏 举报