VBS通过WMI监视注册表变动的代码

Google一下“VBS监视注册表”,TOP 5都是一模一样的代码,我查了一下,出处是Hey, Scripting Guy! Blog上一篇名为《How Can I Monitor Changes to a Registry Key?》的文章,真是厚颜无耻。

文章我没时间翻译了,贴一下代码:


代码如下:

strComputer = "."

Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\default")
Set colEvents = objWMIService.ExecNotificationQuery _
("SELECT * FROM RegistryKeyChangeEvent WHERE Hive='HKEY_LOCAL_MACHINE' AND " & _

"KeyPath='SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run'")
Do
Set objLatestEvent = colEvents.NextEvent
Wscript.Echo Now & ": The registry has been modified."

Loop其实WMI中有4个类可以监视注册表,分别是


看类名就知道分别是做什么的,上面代码用到的是RegistryKeyChangeEvent,即注册表键改变事件。

在这里我不想谈WMI事件的用法,这是很基础的东西;也不想翻译参考文档,如果连这种简单的英语都看不懂,也没必要用WMI了。我认为WMI最难的地方在于里面的类太多了,很多时候不知道该用哪个类来实现想要的功能。而现在,该用哪个类已经很清楚了,本文也可以结束了。

参考链接:Registering for System Registry Events

原文:http://demon.tw/programming/vbs-wmi-monitor-changes-to-a-registry-key.html

(0)

相关推荐

  • 用vbs操作注册表实例代码

    打开或关闭CMD: Dim WSHShell, r, m, v, t, g Dim i On Error Resume Next Set WSHShell=WScript.CreateObject("WScript.Shell") v="HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\system\DisableCMD" i="REG_DWORD" t="命令提示窗口开关&qu

  • vbs 注册表操作类代码

    复制代码 代码如下: Option Explicit Const WBEM_MAX_WAIT = &H80 ' Registry Hives Const HKEY_LOCAL_MACHINE = &H80000002 Const HKEY_CURRENT_USER = &H80000001 Const HKEY_CLASSES_ROOT = &H80000000 Const HKEY_USERS = &H80000003 Const HKEY_CURRENT_CON

  • VBS读取注册表的两种方法

    第一种 通过wshshell对象的regread 复制代码 代码如下: RegValue = CreateObject("Wscript.Shell").RegRead("\XXXX_XXXXXXXX_XXX\XXX\XXXX")Msgbox(RegValue) 更多的操作可以参考这篇文章 http://www.jb51.net/article/18125.htm 第二种方法: 通过wmi 复制代码 代码如下: Const HKLM = &H80000002

  • vbs 注册表操作代码(添加删除)

    1.读注册表的关键词和值: 可以通过把关键词的完整路径传递给wshshell对象的regread方法.例如: 复制代码 代码如下: set ws=wscript.createobject("wscript.shell") v=ws.regread("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\nwiz") wscript.echo v 2.写注册表 使用wshshell对象的reg

  • vbscript 注册表脚本书写

    WScript.Echo "Enabling Kerberos Logging..." const HKEY_LOCAL_MACHINE = &H80000002 strComputer = "." Set StdOut = WScript.StdOut Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" &_  strComputer & &

  • vbs删除注册表项的代码

    WScript.Echo "Enabling Kerberos Logging..." const HKEY_LOCAL_MACHINE = &H80000002 strComputer = "." Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" &_  strComputer & "\root\default:StdRegPro

  • VBS脚本使用WMI操作注册表的代码第1/2页

    oReg.CreateKey HKEY_LOCAL_MACHINE,strKeyPath oReg.SetExpandedStringValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,strValue    oReg.SetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,strValue    oReg.SetDWORDValue HKEY_LOCAL_MACHINE,strKeyPat

  • Vbscript写注册表的方法

    分类:程序 早些年用过DOS系统的用户都知道,MS-DOS操作系统允许普通用户编写批处理文件来实现简单的编程.它有效地简化了我们的工作,带给我们许多方便.当时甚至出现了一些专门编写批处理文件的程序员呢. 事实上,操作系统除了提供易于操作的使用界面外,还应当有一套内建的Script(脚本)语言才算完整.从某种角度来说,批处理文件可以说就是MS-DOS下的脚本语言.到了Windows时代,虽然Windows系统仍然保留了批处理,但是批处理在Windows中就显得功能过于简单,无法满足用户的需要了--

  • vbscript Registry 注册表操作实现代码(读写删除)

    VBScript Code: 复制代码 代码如下: ' Create a WSH Shell object: Set wshShell = CreateObject( "WScript.Shell" ) ' ' Create a new key: wshShell.RegWrite "HKCU\TestKey\", "" ' Create a new DWORD value: wshShell.RegWrite "HKCU\TestKe

  • VBS通过WMI监视注册表变动的代码

    Google一下"VBS监视注册表",TOP 5都是一模一样的代码,我查了一下,出处是Hey, Scripting Guy! Blog上一篇名为<How Can I Monitor Changes to a Registry Key?>的文章,真是厚颜无耻. 文章我没时间翻译了,贴一下代码: 复制代码 代码如下: strComputer = "." Set objWMIService = GetObject("winmgmts:\\"

  • python读取Windows注册表的示例代码

    运行结果 代码 import winreg def read_reg(): location = r"Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders" # 获取注册表该位置的所有键值 key = winreg.OpenKey(winreg.HKEY_CURRENT_USER, location) print("\n" + "-"*100 + "\

  • js制作带有遮罩弹出层实现登录注册表单特效代码分享

    本文实例讲述了js制作带有遮罩弹出层实现登录注册表单代码特效代码.分享给大家供大家参考.具体如下: 运行效果图:                     ----------------------查看效果   源码下载----------------------- 小提示:浏览器中如果不能正常运行,可以尝试切换浏览模式. jquery制作的带有遮罩弹出层实现登录注册等表单的特效源码,是一段实现了点击后在原始页面上弹出想用页面的代码.  为大家分享的js制作带有遮罩弹出层实现登录注册表单代码特效

  • C# 注册表 操作实现代码

    其中第二级目录包含了五个预定义主键分别是:HKEY_CLASSES_ROOT,HKEY_CURRENT_USER,HKEY_LOCAL_MACHINE,HKEY_USERS,HKEY_CURRENT_CONFIG. 下面我们来分别解释这5个类的作用 HKEY_CLASSES_ROOT该主键包含了文件的扩展名和应用程序的关联信息以及Window Shell和OLE用于储存注册表的信息.该主键下的子键决定了在WINDOWS中如何显示该类文件以及他们的图标,该主键是从HKEY_LCCAL_MACHIN

  • C/C++新建注册表项的代码示例

    使用Windows API 函数中的RegCreateKeyEx函数来实现对注册表新建注册表项. RegCreateKeyEx函数: 原形:LONG RegCreateKeyEx( HKEY hKey, // 主键名称 LPCTSTR lpSubKey, // 子键名称或路径 DWORD Reserved, // 保留,为0 LPTSTR lpClass, // 一般设置为NULL DWORD dwOptions, /* 对你建立的键的一些选项,可以是这些值:REG_OPTION_NON_VOL

  • WMI StdRegProv 通过wmi操作注册表的vbscript实现代码 (本地或远程)

    Because of its length, only the code for the function itself is shown on this page. The demo script that shows how to use this function is available as a separate download. 复制代码 代码如下: Function ReadRegValue( myComputer, myRegPath, myRegValue ) ' This

随机推荐