这个是注册表键值的,具体的我忘记了,可以查一下找到了Option Explicit Public Enum REG_TOPLEVEL_KEYS HKEY_CLASSES_ROOT = &H80000000 HKEY_CURRENT_CONFIG = &H80000005 HKEY_CURRENT_USER = &H80000001 HKEY_DYN_DATA = &H80000006 HKEY_LOCAL_MACHINE = &H80000002 HKEY_PERFORMANCE_DATA = &H80000004 HKEY_USERS = &H80000003 End Enum 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 RegCloseKey Lib _ "advapi32.dll" (ByVal Hkey 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 Private Const REG_SZ = 1Private Function WriteStringToRegistry(Hkey As _ REG_TOPLEVEL_KEYS, strPath As String, strValue As String, _ strdata As String) As Boolean Dim bAns As Boolean On Error GoTo ErrorHandler Dim keyhand As Long Dim r As Long r = RegCreateKey(Hkey, strPath, keyhand) If r = 0 Then r = RegSetValueEx(keyhand, strValue, 0, _ REG_SZ, ByVal strdata, Len(strdata)) r = RegCloseKey(keyhand) End If
WriteStringToRegistry = (r = 0) Exit Function ErrorHandler: WriteStringToRegistry = False Exit Function
End Function'把长整型数值写入注册表 Private Function WriteLongToRegistry(Hkey As REG_TOPLEVEL_KEYS, _ strPath As String, strValue As String, longdata As Long) As Boolean Dim bAns As Boolean On Error GoTo ErrorHandler Dim keyhand As Long Dim r As Long '建立键 r = RegCreateKey(Hkey, strPath, keyhand) If r = 0 Then '成功 '设置键值 r = RegSetValueEx(keyhand, strValue, 0, REG_SZ, ByVal longdata, 4) '关闭键 r = RegCloseKey(keyhand) End If
WriteLongToRegistry = (r = 0) Exit Function ErrorHandler: WriteLongToRegistry = False Exit Function
End FunctionPrivate Sub Command1_Click() If WriteStringToRegistry(HKEY_CURRENT_USER, _ "Software\Microsoft\Windows\CurrentVersion\Internet Settings", _ "ProxyServer", Text1) And _ WriteLongToRegistry(HKEY_CURRENT_USER, _ "Software\Microsoft\Windows\CurrentVersion\Internet Settings", _ "ProxyEnable", 1&) Then MsgBox "设置代理成功" Else MsgBox "设置代理失败" End If End Sub
Public Enum REG_TOPLEVEL_KEYS
HKEY_CLASSES_ROOT = &H80000000
HKEY_CURRENT_CONFIG = &H80000005
HKEY_CURRENT_USER = &H80000001
HKEY_DYN_DATA = &H80000006
HKEY_LOCAL_MACHINE = &H80000002
HKEY_PERFORMANCE_DATA = &H80000004
HKEY_USERS = &H80000003
End Enum
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 RegCloseKey Lib _
"advapi32.dll" (ByVal Hkey 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
Private Const REG_SZ = 1Private Function WriteStringToRegistry(Hkey As _
REG_TOPLEVEL_KEYS, strPath As String, strValue As String, _
strdata As String) As Boolean
Dim bAns As Boolean
On Error GoTo ErrorHandler
Dim keyhand As Long
Dim r As Long
r = RegCreateKey(Hkey, strPath, keyhand)
If r = 0 Then
r = RegSetValueEx(keyhand, strValue, 0, _
REG_SZ, ByVal strdata, Len(strdata))
r = RegCloseKey(keyhand)
End If
WriteStringToRegistry = (r = 0)
Exit Function
ErrorHandler:
WriteStringToRegistry = False
Exit Function
End Function'把长整型数值写入注册表
Private Function WriteLongToRegistry(Hkey As REG_TOPLEVEL_KEYS, _
strPath As String, strValue As String, longdata As Long) As Boolean
Dim bAns As Boolean
On Error GoTo ErrorHandler
Dim keyhand As Long
Dim r As Long
'建立键
r = RegCreateKey(Hkey, strPath, keyhand)
If r = 0 Then
'成功
'设置键值
r = RegSetValueEx(keyhand, strValue, 0, REG_SZ, ByVal longdata, 4)
'关闭键
r = RegCloseKey(keyhand)
End If
WriteLongToRegistry = (r = 0)
Exit Function
ErrorHandler:
WriteLongToRegistry = False
Exit Function
End FunctionPrivate Sub Command1_Click()
If WriteStringToRegistry(HKEY_CURRENT_USER, _
"Software\Microsoft\Windows\CurrentVersion\Internet Settings", _
"ProxyServer", Text1) And _
WriteLongToRegistry(HKEY_CURRENT_USER, _
"Software\Microsoft\Windows\CurrentVersion\Internet Settings", _
"ProxyEnable", 1&) Then
MsgBox "设置代理成功"
Else
MsgBox "设置代理失败"
End If
End Sub
是通过api函数InternetSetOption,实现的