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)
{
const int INTERNET_OPTION_PROXY = 38;
const int INTERNET_OPEN_TYPE_PROXY = 3;
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)); // Converting structure to IntPtr
Marshal.StructureToPtr(struct_IPI, intptrStruct, true); bool iReturn = InternetSetOption(IntPtr.Zero, INTERNET_OPTION_PROXY, intptrStruct, Marshal.SizeOf(struct_IPI));
} private void SomeFunc()
{
RefreshIESettings("127.0.0.1:9666");
//or RefreshIESettings("http://1.2.3.4:8080"); //both worked
//or RefreshIESettings("http=1.2.3.4:8080"); //both worked webBrowser1.Navigate("http://www.ip138.com/");
//webBrowser1.Refresh();
} 在线等....
{
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)
{
const int INTERNET_OPTION_PROXY = 38;
const int INTERNET_OPEN_TYPE_PROXY = 3;
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)); // Converting structure to IntPtr
Marshal.StructureToPtr(struct_IPI, intptrStruct, true); bool iReturn = InternetSetOption(IntPtr.Zero, INTERNET_OPTION_PROXY, intptrStruct, Marshal.SizeOf(struct_IPI));
} private void SomeFunc()
{
RefreshIESettings("127.0.0.1:9666");
//or RefreshIESettings("http://1.2.3.4:8080"); //both worked
//or RefreshIESettings("http=1.2.3.4:8080"); //both worked webBrowser1.Navigate("http://www.ip138.com/");
//webBrowser1.Refresh();
} 在线等....
解决方案 »
- Hash 查找 字符串 题目》》》》》
- 如何遍历一个string数组,如果值等于a或b就把它删除掉?
- C#如何获取组合框(列表框)的值?
- 关于winform的reportviewer 中 list 和 table
- c#中调用QQ中所提供的监时会话功能..具体怎么操作??
- DataGrid分页显示大数据量的问题
- toolbar添加两个控件,但是两个叠在一起
- 现在的股票软件C/S的都是用什么做的,需要用到什么技术,C#做的能达到要求不,我做B/S的不懂求教!
- WinForm 电子地图 二次开发 Mapinfo
- panel 遍历问题
- 在datagridview的行头,就是最左边的固定列,如何去掉它呢?
- 急急急急急(tableLayoutPanel1;怎么把tableLayoutPanel1的第二行设置为1)
不明白能不能举个例呢
{
public int dwAccessType;
public IntPtr proxy;
public IntPtr proxyBypass;
};改成类,不要用结构。
以前遇到过这样的问题,用类代替结构就行了。