手机
当前位置:查字典教程网 >编程开发 >C#教程 >webBrowser代理设置c#代码
webBrowser代理设置c#代码
摘要:为webBrowser设置代理:复制代码代码如下:publicstructStruct_INTERNET_PROXY_INFO{public...

为webBrowser设置代理:

复制代码 代码如下:

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);

private void RefreshIESettings(string strProxy)//strProxy为代理IP:端口

{

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

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));

if (string.IsNullOrEmpty(strProxy) || strProxy.Trim().Length == 0)

{

strProxy = string.Empty;

struct_IPI.dwAccessType = INTERNET_OPEN_TYPE_DIRECT;

}

// Converting structure to IntPtr

Marshal.StructureToPtr(struct_IPI, intptrStruct, true);

bool iReturn = InternetSetOption(IntPtr.Zero, INTERNET_OPTION_PROXY, intptrStruct, Marshal.SizeOf(struct_IPI));

}

使用:RefreshIESettings("xxx.xxx.xxx.xxx:xx");

完美方法:

/*完整解析

public class IEProxy

{

private const int INTERNET_OPTION_PROXY = 38;

private const int INTERNET_OPEN_TYPE_PROXY = 3;

private const int INTERNET_OPEN_TYPE_DIRECT = 1;

private string ProxyStr;

[DllImport("wininet.dll", SetLastError = true)]

private static extern bool InternetSetOption(IntPtr hInternet, int dwOption, IntPtr lpBuffer, int lpdwBufferLength);

public struct Struct_INTERNET_PROXY_INFO

{

public int dwAccessType;

public IntPtr proxy;

public IntPtr proxyBypass;

}

private bool InternetSetOption(string strProxy)

{

int bufferLength;

IntPtr intptrStruct;

Struct_INTERNET_PROXY_INFO struct_IPI;

if (string.IsNullOrEmpty(strProxy) || strProxy.Trim().Length == 0)

{

strProxy = string.Empty;

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");

bufferLength = Marshal.SizeOf(struct_IPI);

intptrStruct = Marshal.AllocCoTaskMem(bufferLength);

Marshal.StructureToPtr(struct_IPI, intptrStruct, true);

return InternetSetOption(IntPtr.Zero, INTERNET_OPTION_PROXY, intptrStruct, bufferLength);

}

public IEProxy(string strProxy)

{

this.ProxyStr = strProxy;

}

//设置代理

public bool RefreshIESettings()

{

return InternetSetOption(this.ProxyStr);

}

//取消代理

public bool DisableIEProxy()

{

return InternetSetOption(string.Empty);

}

}

*/

【webBrowser代理设置c#代码】相关文章:

C#编写Windows服务实例代码

C#中常使用进度条的代码

C#委托初级使用的实例代码

C# char类型字符转换大小写的实现代码

C#的WebBrowser的操作与注意事项介绍

C# 系统热键注册实现代码

C#软件注册码的实现代码

c# SendMail发送邮件实例代码

C# jpg缩略图函数代码

验证本机的excel版本的C#代码

精品推荐
分类导航