1,502
社区成员
发帖
与我相关
我的任务
分享
Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long
Private Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Private Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, lpData As Any, ByVal cbData As Long) As Long ' Note that if you declare the lpData parameter as String, you must pass it By Value.
Private Const REG_DWORD As Long = 4
Private Const REG_SZ = 1
Const HKEY_CURRENT_USER = &H80000001
Sub 注册表设置IE代理(IPport As String) '设置代理服务器的地址跟端口
If IPport = "" Then Exit Sub
Dim str As String
Dim SubKey As String
Dim hKey As Long
Dim address As String, port As String
Dim sz
sz = Split(IPport, ":")
address = sz(0)
port = sz(1)
str = Trim(address) & ":" & Trim(port)
SubKey = "Software\Microsoft\Windows\CurrentVersion\Internet Settings"
RegCreateKey HKEY_CURRENT_USER, SubKey, hKey
RegSetValueEx hKey, "ProxyServer", 0, REG_SZ, ByVal str, LenB(StrConv(str, vbFromUnicode)) + 1
RegCloseKey hKey
End Sub
Sub 启用IE代理()
Dim SubKey As String
Dim hKey As Long
SubKey = "Software\Microsoft\Windows\CurrentVersion\Internet Settings"
RegCreateKey HKEY_CURRENT_USER, SubKey, hKey
RegSetValueEx hKey, "ProxyEnable", 0, REG_DWORD, 1&, 4
RegCloseKey hKey
End Sub
Dim options As INTERNET_PROXY_INFO
options.dwAccessType = INTERNET_OPEN_TYPE_PROXY
options.lpszProxy = IpPort
options.lpszProxyBypass = ""
internetsetoption 0, internet_option_proxy, options, LenB(options)
我用的是这个,发现只是针对本进程上的WEBBROWSER控件有效,IP会变成代理IP
但是IE上却不受影响,IE上要是没启用代理,在本程序上启用了,IE还是没开
而且本程序设置的任何IP,在IE代理里面都没有改变过,这是什么原因?
1,如果想要对一个别的程序写的IE控件上更改代理,要咋设?,比方DELPHI,易语言等上面的WEBBROWSER控件,就是说只更改某个程序上面IE控件的代理,却不影响IE和别的程序的代理IP
2,如何更改IP能对所有IE及IE控件WEBBROWSER之类的都同步更改IP?
以上是2个相反用途的问题,有懂的不?