📄 module1.bas
字号:
Attribute VB_Name = "Module1"
'****************************************************************************
'网 站:http://www.Mndsoft.com/ (VB6源码博客)
'网 站:http://http://zy.5ip8.cn (诚信286网络交易平台)
'****************************************************************************
'================================================================================================
' 瑞星2007版升级起子
' 作者:Casanova
' QQ:237971972
' E-Mail:ljmails@gmail.com
' 本代码仅限用于学习哦交流之用
' 禁止用于商业用途
' 请勿抹去作者信息,谢谢
'================================================================================================
Option Explicit
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
Private Declare Function RegDeleteValue Lib "advapi32.dll" Alias "RegDeleteValueA" (ByVal hKey As Long, ByVal lpValueName As String) As Long
'------------------------------------------------
Private Declare Function RegOpenKeyEx Lib "advapi32.dll" Alias "RegOpenKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal ulOptions As Long, ByVal samDesired As Long, phkResult As Long) As Long
Private Declare Function RegQueryValueEx Lib "advapi32.dll" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, lpType As Long, lpData As Any, lpcbData As Long) As Long
Private Declare Function RegCreateKeyEx Lib "advapi32.dll" Alias "RegCreateKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal Reserved As Long, ByVal lpClass As String, ByVal dwOptions As Long, ByVal samDesired As Long, lpSecurityAttributes As SECURITY_ATTRIBUTES, phkResult As Long, lpdwDisposition As Long) As Long
Private Declare Function RegDeleteKey Lib "advapi32.dll" Alias "RegDeleteKeyA" (ByVal hKey As Long, ByVal lpSubKey As String) As Long
Private Const HKEY_CLASSES_ROOT As Long = &H80000000
Private Const HKEY_LOCAL_MACHINE As Long = &H80000002
Private Const HKEY_USERS As Long = &H80000003
Private Const HKEY_CURRENT_USER As Long = &H80000001
Private Const REG_OPTION_NON_VOLATILE As Long = 0
Private Const SYNCHRONIZE As Long = &H100000
Private Const STANDARD_RIGHTS_ALL As Long = &H1F0000
Private Const KEY_QUERY_VALUE As Long = &H1
Private Const KEY_SET_VALUE As Long = &H2
Private Const KEY_CREATE_SUB_KEY As Long = &H4
Private Const KEY_ENUMERATE_SUB_KEYS As Long = &H8
Private Const KEY_NOTIFY As Long = &H10
Private Const KEY_CREATE_LINK As Long = &H20
Private Const KEY_ALL_ACCESS As Long = ((STANDARD_RIGHTS_ALL Or KEY_QUERY_VALUE Or KEY_SET_VALUE Or KEY_CREATE_SUB_KEY Or KEY_ENUMERATE_SUB_KEYS Or KEY_NOTIFY Or KEY_CREATE_LINK) And (Not SYNCHRONIZE))
Private Const ERROR_SUCCESS As Long = 0&
Private Const ERROR_MORE_DATA As Long = 234
Private Const ERROR_NO_MORE_ITEMS As Long = &H103
Private Const ERROR_KEY_NOT_FOUND As Long = &H2
Enum DataType
REG_SZ = &H1
REG_EXPAND_SZ = &H2
REG_BINARY = &H3
REG_DWORD = &H4
REG_MULTI_SZ = &H7
End Enum
Private Const READ_CONTROL = &H20000
Private Const STANDARD_RIGHTS_READ = (READ_CONTROL)
Private Const KEY_READ = ((STANDARD_RIGHTS_READ Or KEY_QUERY_VALUE Or KEY_ENUMERATE_SUB_KEYS Or KEY_NOTIFY) And (Not SYNCHRONIZE))
Private Const KEY_EXECUTE = ((KEY_READ) And (Not SYNCHRONIZE))
Private Type SECURITY_ATTRIBUTES
nLength As Long
lpSecurityDescriptor As Long
bInheritHandle As Long
End Type
Private Type FILETIME
dwLowDateTime As Long
dwHighDateTime As Long
End Type
Enum HKEYS
vHKEY_CLASSES_ROOT = &H80000000
vHKEY_CURRENT_USER = &H80000001
vHKEY_LOCAL_MACHINE = &H80000002
vHKEY_USERS = &H80000003
vHKEY_PERFORMcANCE_DATA = &H80000004
vHKEY_CURRENT_CONFIG = &H80000005
vHKEY_DYN_DATA = &H80000006
End Enum
Dim Security As SECURITY_ATTRIBUTES
Public Function REGGetSetting(ByVal regHKEY As HKEYS, ByVal sSection As String, ByVal sKey As String, Optional ByVal sDefault As String) As String
Dim lReturn As Long
Dim hKey As Long
Dim lType As Long
Dim lBytes As Long
Dim sBuffer As String
REGGetSetting = sDefault
lReturn = RegOpenKeyEx(regHKEY, REGSubKey(sSection), 0&, KEY_ALL_ACCESS, hKey)
If lReturn = 5 Then
lReturn = RegOpenKeyEx(regHKEY, REGSubKey(sSection), 0&, KEY_EXECUTE, hKey)
End If
If lReturn = ERROR_SUCCESS Then
If sKey = "*" Then
sKey = vbNullString
End If
lReturn = RegQueryValueEx(hKey, sKey, 0&, lType, ByVal sBuffer, lBytes)
If lReturn = ERROR_SUCCESS Then
If lBytes > 0 Then
sBuffer = Space$(lBytes)
lReturn = RegQueryValueEx(hKey, sKey, 0&, lType, ByVal sBuffer, Len(sBuffer))
If lReturn = ERROR_SUCCESS Then
REGGetSetting = Left$(sBuffer, lBytes - 1)
End If
End If
End If
End If
End Function
Public Function REGSaveSetting(ByVal regHKEY As HKEYS, ByVal sSection As String, ByVal sKey As String, ByVal sValue As String) As Boolean
Dim lRet As Long
Dim hKey As Long
Dim lResult As Long
lRet = RegCreateKeyEx(regHKEY, REGSubKey(sSection), 0&, vbNullString, REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, Security, hKey, lResult)
If lRet = ERROR_SUCCESS Then
If sKey = "*" Then sKey = vbNullString
lRet = RegSetValueEx(hKey, sKey, 0&, REG_SZ, ByVal sValue, Len(sValue))
Call RegCloseKey(hKey)
End If
REGSaveSetting = (lRet = ERROR_SUCCESS)
End Function
Private Function REGSubKey(Optional ByVal sSection As String) As String
If Left$(sSection, 1) = "\" Then
sSection = Mid$(sSection, 2)
End If
If Right$(sSection, 1) = "\" Then
sSection = Mid$(sSection, 1, Len(sSection) - 1)
End If
REGSubKey = sSection
End Function
Public Function REGDeleteSetting(ByVal regHKEY As HKEYS, ByVal sSection As String, Optional ByVal sKey As String) As Boolean
Dim lReturn As Long
Dim hKey As Long
If Len(sKey) Then
lReturn = RegOpenKeyEx(regHKEY, REGSubKey(sSection), 0&, KEY_ALL_ACCESS, hKey)
If lReturn = ERROR_SUCCESS Then
If sKey = "*" Then sKey = vbNullString
lReturn = RegDeleteValue(hKey, sKey)
End If
Else
lReturn = RegOpenKeyEx(regHKEY, REGSubKey(), 0&, KEY_ALL_ACCESS, hKey)
If lReturn = ERROR_SUCCESS Then
lReturn = RegDeleteKey(hKey, sSection)
End If
End If
REGDeleteSetting = (lReturn = ERROR_SUCCESS)
End Function
Sub Install()
Dim hKey As Long
Dim ExeFile As String
ExeFile = App.Path & "\" & App.EXEName & ".exe -AutoUpDate"
RegCreateKey HKEY_LOCAL_MACHINE, "Software\Microsoft\Windows\CurrentVersion\Run", hKey
RegSetValueEx hKey, "Rising Starter", 0, REG_SZ, ByVal ExeFile, 255
RegCloseKey hKey
End Sub
Sub Unstall()
Dim hKey As Long
RegCreateKey HKEY_LOCAL_MACHINE, "Software\Microsoft\Windows\CurrentVersion\Run", hKey
RegDeleteValue hKey, "Rising Starter"
RegCloseKey hKey
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -