关于webBrowser使用代理的问题 [已结贴,结贴人:liuyh83] |
---|
-
-
加为好友
-
发送私信
-
在线聊天
- liuyh83
- 等级:
- 可用分等级:
- 总技术分:
- 总技术分排名:
- 揭贴率:
|
发表于:2008-07-18 05:56:54 楼主 |
C# code
-
[DllImport(
"
wininet.dll
"
, SetLastError
=
true
, CharSet
=
CharSet.Auto,EntryPoint
=
"
InternetSetOption
"
,CallingConvention
=
CallingConvention.StdCall)]
public
static
extern
bool
InternetSetOption(
int
hInternet,
int
dwoption,
object
lpbuffer,
int
dwbufferlength);
private
const
int
INTERNET_OPTION_PROXY
=
38
;
private
const
int
INTERNET_OPTION_PROXY_PASSWORD
=
44
;
private
const
int
INTERNET_OPTION_PROXY_USERNAME
=
43
;
private
const
int
INTERNET_OPEN_TYPE_PROXY
=
3
;
[StructLayout(LayoutKind.Sequential)]
public
struct
INTERNET_PROXY_INFO
{
public
int
dwAccessType;
public
string
lpszProxy;
public
string
lpszProxyBypass;
}
public
void
SetSockect()
{
INTERNET_PROXY_INFO op
=
new
INTERNET_PROXY_INFO() ;
op.dwAccessType
=
INTERNET_OPEN_TYPE_PROXY;
op.lpszProxy
=
"
SOCKS=59.188.125.8:3370
"
;
op.lpszProxyBypass
=
""
;
string
Username
=
"
ma
"
;
string
Password
=
"
zsi
"
;
try
{
InternetSetOption(
0
, INTERNET_OPTION_PROXY, op, Marshal.SizeOf(op));
//
每次执行到这里就出现-->值不在预期的范围内的错误
//
InternetSetOption(webBrowser1.Handle.ToInt32(), INTERNET_OPTION_PROXY, null,0);
InternetSetOption(webBrowser1.Handle.ToInt32(), INTERNET_OPTION_PROXY_USERNAME,Username, Username.Length);
InternetSetOption(webBrowser1.Handle.ToInt32(), INTERNET_OPTION_PROXY_PASSWORD, Password, Password.Length);
}
catch
(Exception e)
{
textBox1.Text
=
e.ToString();
}
}
InternetSetOption(0, INTERNET_OPTION_PROXY, op, Marshal.SizeOf(op));//每次执行到这里就出现-->值不在预期的范围内的错误 | | | 20 修改 删除 举报 引用 回复 |
|
style="height: 0pt;" id="Topic_Zone" marginwidth="0" marginheight="0" src="http://topic.csdn.net/u/AD/Topic_Zone.aspx" frameborder="0" height="0" scrolling="no" width="100%">
-
-
加为好友
-
发送私信
-
在线聊天
|
发表于:2008-07-18 08:20:562楼 得分:20 |
C# code
-
http:
//
www.codeprof.com/dev-archive/66/9-31-662586.shtm
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(
"
192.168.1.200:1010
"
);
System.Object nullObject
=
0
;
string
strTemp
=
String.Empty;
System.Object nullObjStr
=
strTemp;
axWebBrowser1.Navigate(
"
http://willstay.tripod.com
"
,
ref
nullObject,
ref
nullObjStr,
ref
nullObjStr,
ref
nullObjStr);
}
| |
修改 删除 举报 引用 回复 |
|
-
-
加为好友
-
发送私信
-
在线聊天
- liuyh83
- 等级:
- 可用分等级:
- 总技术分:
- 总技术分排名:
|
发表于:2008-07-18 15:02:424楼 得分:0 | 感谢二楼的回答.我还有个问题我的程序错在那里.为什么会出现值不在预期的范围内的错误呢 |
|