突然想到这个问题,虽然不知道为什么要用 VBS 判断当前系统是32位还是64位,但是也许以后会用到也说不定。用到 WMI 的 Win32_ComputerSystem 类的 SystemType 属性。
文章关键字 ‘WMI’
用VBS判断操作系统是32位(x86)还是64位(x64)
2011年11月12日,星期六利用WMI打造完美“三无”后门(序章)
2011年05月19日,星期四VBS调用WMI获取CPU使用率
2011年05月18日,星期三Google关键词“WMI CPU使用率”,得到的全是《python使用WMI监视系统-CPU使用率》,不用看,肯定又是采集的。
Python固然强大,但是调用WMI还是用VBS比较“正宗”。
VBS调用WMI监视注册表变动
2011年05月11日,星期三似乎有人觉得用VBS监视注册表很高级?使用了WMI事件而已,跟《用VBS监视进程创建和删除》一样。Google一下“VBS监视注册表”,TOP 5都是一模一样的代码,我查了一下,出处是Hey, Scripting Guy! Blog上一篇名为《How Can I Monitor Changes to a Registry Key?》的文章,真是厚颜无耻。
用VBS监视进程创建和删除
2011年01月27日,星期四微软脚本中心里的例子,用到了WMI事件,抄下来备查。
监视进程的创建,在每次创建新的进程时,临时事件消费程序都发出警报。
strComputer = "." Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") Set colMonitoredProcesses = objWMIService. _ ExecNotificationQuery("select * from __instancecreationevent " _ & " within 1 where TargetInstance isa 'Win32_Process'") i = 0 Do While i = 0 Set objLatestProcess = colMonitoredProcesses.NextEvent Wscript.Echo objLatestProcess.TargetInstance.Name Loop
监视进程的删除,在每次进程终止时,临时事件消费程序都发出警报。
strComputer = "." Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") Set colMonitoredProcesses = objWMIService. _ ExecNotificationQuery("select * from __instancedeletionevent " _ & "within 1 where TargetInstance isa 'Win32_Process'") i = 0 Do While i = 0 Set objLatestProcess = colMonitoredProcesses.NextEvent Wscript.Echo objLatestProcess.TargetInstance.Name Loop
参考链接: