加载驱动需要有加载驱动的权限
使用前先加载“SE_LOAD_DRIVER_PRIVILEGE”权限
- Option Explicit
- Private Const STATUS_IMAGE_ALREADY_LOADED =
- Private Const HKEY_CLASSES_ROOT =
- Private Const HKEY_CURRENT_USER =
- Private Const HKEY_LOCAL_MACHINE =
- Private Const HKEY_USERS =
- Private Const HKEY_PERFORMANCE_DATA =
- Private Const HKEY_CURRENT_CONFIG =
- Private Const HKEY_DYN_DATA =
- Private Const REG_SZ = 1 ' 字符串值
- Private Const REG_EXPAND_SZ = 2 ' 可扩充字符串值
- Private Const REG_BINARY = 3 ' 二进制值
- Private Const REG_DWORD = 4 ' DWORD值
- Private Const REG_MULTI_SZ = 7
- Private Const READ_CONTROL =
- Private Const KEY_QUERY_VALUE =
- Private Const KEY_SET_VALUE =
- Private Const KEY_CREATE_SUB_KEY =
- Private Const KEY_ENUMERATE_SUB_KEYS =
- Private Const KEY_NOTIFY =
- Private Const KEY_CREATE_LINK =
- Private Const KEY_READ = KEY_QUERY_VALUE + KEY_ENUMERATE_SUB_KEYS + KEY_NOTIFY + READ_CONTROL
- Private Const KEY_WRITE = KEY_SET_VALUE + KEY_CREATE_SUB_KEY + READ_CONTROL
- Private Const KEY_EXECUTE = KEY_READ
- Private Const KEY_ALL_ACCESS = KEY_QUERY_VALUE + KEY_SET_VALUE + KEY_CREATE_SUB_KEY + KEY_ENUMERATE_SUB_KEYS + KEY_NOTIFY + KEY_CREATE_LINK + READ_CONTROL
- Private Type UNICODE_STRING
- uLength As Integer
- uMaximumLength As Integer
- pBuffer As Long
- End Type
- Private Declare Sub RtlInitUnicodeString Lib "ntdll.dll" (DestinationString As Any, ByVal SourceString As Long)
- Private Declare Function NtLoadDriver Lib "ntdll.dll" (ByVal DriverServiceName As Long) As Long
- Private Declare Function NtUnloadDriver Lib "ntdll.dll" (ByVal DriverServiceName 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 Str