Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: ВОПРОС ПО РЕЕСТРУ! Добавлено: 19.06.08 13:48  

Автор вопроса:  Mc.WOLF
Ребя помогите кто знает пожалуйста!!!
Вот по этой ссылке есть проетк http://www.vbnet.ru/samples/download.aspx?id=101

но как сделать так чтоб замисть "Change!" писало имя ключа(создаваемого\удаляемого) в реестре

Вот код:


----------------------------------------------


Public Enum ROOT_KEYS
       HKEY_CLASSES_ROOT = &H80000000
       HKEY_CURRENT_USER = &H80000001
       HKEY_LOCAL_MACHINE = &H80000002
       HKEY_USERS = &H80000003
       HKEY_PERFORMANCE_DATA = &H80000004
       HKEY_CURRENT_CONFIG = &H80000005
       HKEY_DYN_DATA = &H80000006
End Enum

Public Enum NOTIFY_EVENTS
       REG_NOTIFY_CHANGE_NAME = &H1
       REG_NOTIFY_CHANGE_ATTRIBUTES = &H2
       REG_NOTIFY_CHANGE_LAST_SET = &H4
       REG_NOTIFY_CHANGE_SECURITY = &H8
End Enum

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 Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long

Private Declare Function CreateEvent Lib "kernel32" Alias "CreateEventA" (ByVal lpEventAttributes As Long, ByVal bManualReset As Long, ByVal bInitialState As Long, ByVal lpName As String) As Long
Private Declare Function ResetEvent Lib "kernel32" (ByVal hEvent As Long) As Long
Private Declare Function WaitForSingleObject Lib "kernel32" (ByVal hHandle As Long, ByVal dwMilliseconds As Long) As Long
Public Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
Private Const WAIT_ABANDONED = &H80
Private Const WAIT_FAILED = &HFFFFFFFF
Private Const WAIT_OBJECT_0 = &H0
Private Const WAIT_TIMEOUT = &H102&

Public hEvent As Long, bExit As Boolean

Public Sub RegMonitor(hKey As ROOT_KEYS, sRegKeyPath As String, bWatchSubTree As Boolean, dwFilters As NOTIFY_EVENTS)
   Dim lKeyHandle As Long, lRet As Long
   hEvent = CreateEvent(0, True, False, vbNullString)
   lRet = RegOpenKey(hKey, sRegKeyPath, lKeyHandle)
   RegNotifyChangeKeyValue lKeyHandle, bWatchSubTree, dwFilters, hEvent, True
   Do
     DoEvents
     lRet = WaitForSingleObject(hEvent, 0)
     If bExit Then Exit Do
     If lRet = WAIT_OBJECT_0 Then
        MsgBox "Change!"
        ResetEvent hEvent
        RegNotifyChangeKeyValue lKeyHandle, bWatchSubTree, dwFilters, hEvent, True
     End If
   Loop
   lRet = RegCloseKey(lKeyHandle)
   End
End Sub

----------------------------------------

Ответить

  Ответы Всего ответов: 5  

Номер ответа: 1
Автор ответа:
 Winand



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #1
Добавлено: 19.06.08 13:53
может
MsgBox sRegKeyPath

Ответить

Номер ответа: 2
Автор ответа:
 Mc.WOLF



Вопросов: 26
Ответов: 84
 Профиль | | #2 Добавлено: 19.06.08 15:27
Нет это путь (типа: Software\VB and VBA Program Settings)

Ответить

Номер ответа: 3
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #3
Добавлено: 19.06.08 16:35
Вообще-то Notify-функции не предназначены для получения информации о конкретных изменениях в реестре, regmon с их помощью не напишешь: они просто добавляют одноразовый обсервер в менеджер реестра. Поэтому ответ: никак или перебором.

Ответить

Номер ответа: 4
Автор ответа:
 



Администратор

ICQ: 278109632 

Вопросов: 42
Ответов: 3949
 Web-сайт: domkratt.com
 Профиль | | #4
Добавлено: 19.06.08 19:42
Хук ZwRegCreateKey и иже с ней

Ответить

Номер ответа: 5
Автор ответа:
 Mc.WOLF



Вопросов: 26
Ответов: 84
 Профиль | | #5 Добавлено: 20.06.08 03:22
А поподробней можна расказать???

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам