想像瑞星等杀毒软件一样,能捕捉到用户/程序修改注册表的事件,然后采取相应的操作(拒绝或允许)。

解决方案 »

  1.   

    ps:用VB可能相当难做呀,起码要给API下钩子。手头上又regmon4.0的代码,用VC写的...
      

  2.   

    我就是想监控某个键,楼上的朋友有办法么?
    Timer不算哦~~~
      

  3.   

    RegNotifyChangeKeyValue RegNotifyChangeKeyValue 
    VB声明 
    Declare Function RegNotifyChangeKeyValue Lib "advapi32.dll" Alias "RegNotifyChangeKeyValue" (ByVal hKey As Long, ByVal bWatchSubtree As Long, ByVal dwNotifyFilter As Long, ByVal hEvent As Long, ByVal fAsynchronus As Long) As Long 
    说明 
    注册表项或它的任何一个子项发生变化时,用这个函数提供一种通知机制 
    返回值 
    Long,零(ERROR_SUCCESS)表示成功。其他任何值都代表一个错误代码 
    参数表 
    参数 类型及说明 
    hKey Long,要监视的一个项的句柄,或者指定一个标准项名 
    bWatchSubtree Long,TRUE(非零)表示监视子项以及指定的项 
    dwNotifyFilter Long,下述常数的一个或多个 
    REG_NOTIFY_CHANGE_NAME 侦测注册表项名称的变化,以及侦测注册表的创建和删除事件 
    REG_NOTIFY_CHANGE_ATTRIBUTES 侦测属性的变化 
    REG_NOTIFY_CHANGE_LAST_SET 侦测上一次修改时间的变化 
    REG_NOTIFY_CHANGE_SECURITY 侦测对安全特性的改动 
    hEvent Long,一个事件的句柄。如fAsynchronus为False,则这里的设置会被忽略 
    fAsynchronus Long,如果为零,那么除非侦测到一个变化,否则函数不会返回。否则这个函数会立即返回,而且在发生变化时触发由hEvent参数指定的一个事件 
    适用平台 
    Windows NT
      

  4.   

    是你要写,还是你要用?
    要用的话有个RegMon
    要写得话hook相关注册表函数即可。
      

  5.   

    To akirya(坏[其实偶不是什么所谓的坏人]):我要实时监视注册表的一个键值,一旦发现被修改了,立刻改回去即可。