'Для тестирования примера необходимо:
'1. Запустить пример (F5)
'2. Запустить Regedit.exe (C:\Windows\Regedit.exe)
'3. Перейти в раздел реестра HKEY_CURRENT_USER\Software\
VB and VBA Program Settings\
Registry Notification
'4. Измените одно из значений или удалите этот раздел
'5. Вернитесь к примеру
Const HKEY_CLASSES_ROOT = &H80000000
Const HKEY_CURRENT_USER = &H80000001
Const HKEY_LOCAL_MACHINE = &H80000002
Const REG_NOTIFY_CHANGE_NAME = &H1
Const REG_NOTIFY_CHANGE_ATTRIBUTES = &H2
Const REG_NOTIFY_CHANGE_LAST_SET = &H4
Const REG_NOTIFY_CHANGE_SECURITY = &H8
Const REG_LEGAL_CHANGE_FILTER = (REG_NOTIFY_CHANGE_NAME Or _
REG_NOTIFY_CHANGE_ATTRIBUTES Or _
REG_NOTIFY_CHANGE_LAST_SET Or _
REG_NOTIFY_CHANGE_SECURITY)
Private Declare Function RegNotifyChangeKeyValue Lib "advapi32" _
(ByVal hKey As Long, _
ByVal bWatchSubtree As Boolean, _
ByVal dwNotifyFilter As Long, _
ByVal hEvent As Long, _
ByVal fAsynchronous As Boolean) As Long
Private Sub Form_Load()
SaveSetting "Registry Notification", _
"Hello", _
"Testing", _
"123"
RegNotifyChangeKeyValue HKEY_CURRENT_USER, _
True, _
REG_LEGAL_CHANGE_FILTER, _
' В следующей строке, происходит ошибка
AddressOf RegProc, _
False
MsgBox "Registry changed"
Unload Me
End Sub
Сейчас этот форум просматривают: Google-бот и гости: 54