删除注册表中键值:
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 RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long
Private Declare Function RegDeleteValue Lib "advapi32.dll" Alias "RegDeleteValueA" (ByVal hKey As Long, ByVal lpvalueName As String) As Long
Private Const REG_SZ = 1
Private Const HKEY_CLASSES_ROOT = &H80000000
Private Const HKEY_CURRENT_USER = &H80000001
Private Const HKEY_LOCAL_MACHINE = &H80000002
Private Const HKEY_USERS = &H80000003
Private Const HKEY_CURRENT_CONFIG = &H80000005
Private Sub Command1_Click()
Dim txt As String, ret As Long, hKey As Long
ret = RegCreateKey(HKEY_LOCAL_MACHINE, "SOFTWARE\Microsoft\Windows\CurrentVersion\Run", hKey) '路径
If ret = 0 Then
txt = "123"
ret = RegSetValueEx(hKey, "name", 0, REG_SZ, ByVal txt, LenB(txt))
RegCloseKey hKey
End If
End Sub
Private Sub Command2_Click()
Dim hKey As Long, ret As Long
ret = RegCreateKey(HKEY_LOCAL_MACHINE, "SOFTWARE\Microsoft\Windows\CurrentVersion\Run", hKey)
ret = RegDeleteValue(hKey, "name")
RegCloseKey hKey
End Sub
再附一个读取ini文件的类,代码Copy自VBGood。
Option Explicit
Private Const c_sClassStart As String = "["
Private msFileName As String
Private msSeperator As String
Private msLineComment As String * 1
Public Event DetectItem(sClass As String, sItem As String, sValue As String)
Private Sub Class_Initialize()
Init App.Path & "\Settings.ini", "=", "#"
End Sub
Public Sub Init(sFileName As String, sSeperator As String, sLineComment As String)
msFileName = sFileName
msSeperator = sSeperator
msLineComment = sLineComment
Debug.Assert Len(sLineComment) = 1 And sLineComment <> c_sClassStart
End Sub
Public Sub StartParse()
Dim fn As Integer
Dim sLine As String
Dim sCurrClass As String
Dim sItem As String
Dim sValue As String
fn = FreeFile
Open msFileName For Input As #fn
Do While Not EOF(fn)
Line Input #fn, sLine
sLine = Trim$(sLine)
If Left$(sLine, 1) = c_sClassStart Then
sCurrClass = Mid$(sLine, 2, Len(sLine) - 2)
ElseIf Left$(sLine, 1) <> msLineComment And sLine <> "" Then
sItem = RTrim$(Split(sLine, msSeperator)(0))
sValue = LTrim$(Split(sLine, msSeperator)(1))
RaiseEvent DetectItem(sCurrClass, sItem, sValue)
End If
Loop
Close #fn
End Sub
已经有(0)位网友发表了评论,你也评一评吧!
原创文章如转载,请注明:转载自Eddy Blog
原文地址:http://www.rrgod.com/program/735.html 欢迎订阅Eddy Blog。