请教各位高手,在添加注册表项时出错,不太会,本人是vb菜鸟,请教了! Dim WSH
Set WSH= CreateObject("WSCRIPT.SHELL") '击活WScript.Shell对象WSH.RegWrite "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\RasMan\Parameters", "ProhibitIpSec", "REG_D WORD" '添加注册表一个项的默认值
修改注册表的目的是能在xp系统上跑l2tp协议的vpn连接
Set WSH= CreateObject("WSCRIPT.SHELL") '击活WScript.Shell对象WSH.RegWrite "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\RasMan\Parameters", "ProhibitIpSec", "REG_D WORD" '添加注册表一个项的默认值
修改注册表的目的是能在xp系统上跑l2tp协议的vpn连接
通用里:
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 '这个函数用来设定注册表项的值
Private Declare Function RegDeleteValue Lib "advapi32.dll" Alias "RegDeleteValueA" (ByVal hKey As Long, ByVal lpValueName As String) As Long '这个函数用来删除注册表项的值
Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long '这个函数用来关闭已经打开的注册表项Private Const REG_SZ = 1 '这个常数表示注册表项的值的类型为字符串
Private Const HKEY_CURRENT_USER = &H80000001 '这个常数表示修改当前用户的注册表项
Private Const SubKey As String = "Software\Microsoft\Windows\CurrentVersion\Run" '定义要编辑的注册表的子项下面是两个函数
'接下来,我们写一个函数,来建立自动运行
Sub RegAutoRun() On Error Resume Next
Dim Exe As String
Dim hKey As Long
Dim rc As Long
If Right(App.Path, 1) <> "\" Then
Exe = App.Path & "\" & App.EXEName & ".exe"
Else
Exe = App.Path & App.EXEName & ".exe"
End If
rc = RegCreateKey(HKEY_CURRENT_USER, SubKey, hKey)
If rc = 0 Then
RegSetValueEx hKey, "AutoStart", 0, REG_SZ, ByVal Exe, LenB(StrConv(Exe, vbFromUnicode)) + 1
RegCloseKey hKey
End If
End Sub
'建立自动运行,自然要可以删除自动运行的功能
Sub DelAutoRun()
On Error Resume Next Dim hKey As Long
Dim rc As Long rc = RegCreateKey(HKEY_CURRENT_USER, SubKey, hKey)
If rc = 0 Then
RegDeleteValue hKey, "AutoStart"
RegCloseKey hKey
End If
End Sub
就是修改这个东西,能在vb上实现就行了