有人愿意帮忙测试几行代码吗?
下面的这片代码是设置代理ip并且刷新的。可是我试了几次没有效果。在打开id的选项那边查看,发现并没有改变。
打开注册表 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings,查看ProxyServer的值发现也没有变化,不知道是怎么回事。我的是xp系统。
- VB code
Option ExplicitPrivate Declare Function InternetSetOption Lib "wininet.dll" Alias "InternetSetOptionA" (ByVal hInternet As Long, ByVal dwOption As Long, ByRef lpBuffer As Any, ByVal dwBufferLength As Long) As LongPrivate Type INTERNET_PROXY_INFO dwAccessType As Long lpszProxy As String lpszProxyBypass As StringEnd TypePrivate Const INTERNET_OPTION_PROXY = 38Private Const INTERNET_OPTION_SETTINGS_CHANGED = 39Private Const INTERNET_OPEN_TYPE_DIRECT = 1Private Const INTERNET_OPEN_TYPE_PROXY = 3 Private Sub SetProxy(aStrIP As String, aStrPort As String, aBolUseProxy As Boolean) Dim strProxy As String Dim inf As INTERNET_PROXY_INFO aStrIP = Trim(aStrIP) aStrPort = Trim(aStrPort) If (aStrIP + aStrPort = "") Or Not aBolUseProxy Then strProxy = "" Else strProxy = "http=" + aStrIP + ":" + aStrPort End If If Trim(strProxy) <> "" Then inf.dwAccessType = INTERNET_OPEN_TYPE_PROXY inf.lpszProxy = strProxy inf.lpszProxyBypass = "" Call InternetSetOption(0, INTERNET_OPTION_PROXY, inf, Len(inf)) Call InternetSetOption(0, INTERNET_OPTION_SETTINGS_CHANGED, "", 0) Else inf.dwAccessType = INTERNET_OPEN_TYPE_DIRECT inf.lpszProxy = "" inf.lpszProxyBypass = "" Call InternetSetOption(0, INTERNET_OPTION_PROXY, inf, Len(inf)) Call InternetSetOption(0, INTERNET_OPTION_SETTINGS_CHANGED, "", 0) End IfEnd Sub'===使用代理上网Private Sub Command1_Click() SetProxy "123.10.10.233", "80", TrueEnd Sub '===不使用代理上网Private Sub Command2_Click() SetProxy "123.10.10.233", "80", FalseEnd Sub
[解决办法]
这只是针对 hInternet 的吧
这个貌似是针对特定一次连接而设置的是否使用代理,并非是全局设置
[解决办法]
测试,注册表值没有修改。网上有讨论说要用api来修改注册表……
[解决办法]
设置代理:
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings]
"ProxyEnable"=dword:00000001
"ProxyServer"="ip:端口"
[解决办法]
我也来试一试。。。
[解决办法]
测试过 没用 xp sp2
[解决办法]
设置注册表要重启机子的。
网上有个C写的,改完直接刷新的
[解决办法]
你性测试什么问题按啊