VB 利用WMI进行共享目录的监视

原创 2007年10月03日 11:24:00

VERSION 5.00
Begin VB.Form frmMain
   Caption         =   "Form1"
   ClientHeight    =   3090
   ClientLeft      =   60
   ClientTop       =   450
   ClientWidth     =   4680
   LinkTopic       =   "Form1"
   ScaleHeight     =   3090
   ScaleWidth      =   4680
   StartUpPosition =   3  '窗口缺省
End
Attribute VB_Name = "frmMain"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit

Private WithEvents CreateProcessEvent As SWbemSink
Attribute CreateProcessEvent.VB_VarHelpID = -1
Private WithEvents DeleteProcessEvent As SWbemSink
Attribute DeleteProcessEvent.VB_VarHelpID = -1
Private WithEvents ModificationProcessEvent As SWbemSink
Attribute ModificationProcessEvent.VB_VarHelpID = -1
Private objSWbemServices As SWbemServices

Private Sub Form_Load()
    StartMonitorCreateProcessEvent
    StartMonitorDeleteProcessEvent
    StartMonitorModificationProcessEvent
End Sub


Private Sub Form_Unload(Cancel As Integer)
    CreateProcessEvent.Cancel
    DeleteProcessEvent.Cancel
    ModificationProcessEvent.Cancel
End Sub

'共享创建事件
Private Sub CreateProcessEvent_OnObjectReady(ByVal objWbemObject As WbemScripting.ISWbemObject, ByVal objWbemAsyncContext As WbemScripting.ISWbemNamedValueSet)

    MsgBox objWbemObject.Properties_.Item("TargetInstance").Value.Properties_.Item("Name").Value

End Sub
'dim ss as WbemScripting.
 

'共享删除事件
Private Sub DeleteProcessEvent_OnObjectReady(ByVal objWbemObject As WbemScripting.ISWbemObject, ByVal objWbemAsyncContext As WbemScripting.ISWbemNamedValueSet)
    MsgBox objWbemObject.Properties_.Item("TargetInstance").Value.Properties_.Item("path").Value
End Sub

'共享属性变更事件
Private Sub ModificationProcessEvent_OnObjectReady(ByVal objWbemObject As WbemScripting.ISWbemObject, ByVal objWbemAsyncContext As WbemScripting.ISWbemNamedValueSet)
    MsgBox objWbemObject.Properties_.Item("TargetInstance").Value.Properties_.Item("Name").Value
End Sub


Private Sub StartMonitorCreateProcessEvent()
    Set CreateProcessEvent = New SWbemSink
    Set objSWbemServices = GetObject("winmgmts://./root/cimv2")
    objSWbemServices.ExecNotificationQueryAsync CreateProcessEvent, "SELECT * FROM __InstanceCreationEvent WITHIN 1 WHERE TargetInstance ISA 'Win32_Share'"
End Sub

Private Sub StartMonitorDeleteProcessEvent()
    Set DeleteProcessEvent = New SWbemSink
    Set objSWbemServices = GetObject("winmgmts://./root/cimv2")
    objSWbemServices.ExecNotificationQueryAsync DeleteProcessEvent, "SELECT * FROM __InstanceDeletionEvent WITHIN 1 WHERE TargetInstance ISA 'Win32_Share'"
End Sub

Private Sub StartMonitorModificationProcessEvent()
    Set ModificationProcessEvent = New SWbemSink
    Set objSWbemServices = GetObject("winmgmts://./root/cimv2")
    objSWbemServices.ExecNotificationQueryAsync ModificationProcessEvent, "SELECT * FROM __InstanceModificationEvent WITHIN 1 WHERE TargetInstance ISA 'Win32_Share'"
End Sub
 

相关文章推荐

ring3下利用WMI监视进程创建(vc版)

#include "stdafx.h" #define _WIN32_DCOM #include using namespace std; #include #include # pragma...
  • zwfgdlc
  • zwfgdlc
  • 2011年07月18日 11:02
  • 3014

vb.net中使用wmi关闭远程计算机上的进程

最近学习了一点wmi知识,感觉还很好用,只是在结束远程计算机上的程序时花费了一些时间,在网上找了几天资料,发现大多数是用C#写的,要不就是脚本写的,其中有很多代码都把停止服务当做是结束进程,也有很多人...

利用VB控件操作目录和文件夹

来自:http://dev.21tx.com/2006/07/29/10732.html   (一) 察看和显示目录下的文件和文件夹   对于这个实现,其实很简单。首先想到的就是VB中给我...
  • hlzs_01
  • hlzs_01
  • 2013年06月05日 11:22
  • 981

利用VB.Net 通过Windows Sockets (Winsock)以及多线程编程进行桌面电脑与Pocket PC间的双向通信

利用VB.Net编程实现PC与掌上电脑PPC间的双向通信 [源文件下载]http://www.cnblogs.com/Risen/category/110585.html本文介绍如何利用VB.Net ...

PDM与Excel利用VB脚本进行互导

1、基础样例表和数据 Excel数据表,样例中有两个sheet。样表及数据如下:  sheet1=> 主题域 表注释 表英文名称 表中文名称 列名 列中文名称 列注释 数据类型 主键 是否为...

在VB中利用API进行串口通信

在VB中利用API进行串口通信 一般来说,在VB中编写串口通讯程序,首先考虑到是使用MSComm控件,可是该控件不能设置超时,而且对许多内部的参数进行了隐藏,从而不能满足有些具体的工...

vb.net利用SerialPort进行读取串口操作

mports SystemImports System.IO.PortsPublic Class Form1 Private Sub Form1_Load(ByVal sender As Sys...

Vb.net下,利用数组进行“组合”查询

这几天一直在做机房收费系统中组合查询的那几个窗体。这次选择了利用数组来查询。下面就给大家说一下这个方法,希望大家指正,互相学习。 这里我要讲解的是在三层架构下实现的例子,如果你不了解三层,或者是没有...
  • aboy123
  • aboy123
  • 2012年03月04日 08:06
  • 3290

VB利用资源文件进行工作

利用资源文件进行工作 资源文件允许将应用程序特定版本的全部文本和位图收集到一起。这可以包括常数声明、图标、屏幕文本,以及可能在本地化版本之间或在修订版本或特定的配置之间发生变化的其它材料。 向工程...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:VB 利用WMI进行共享目录的监视
举报原因:
原因补充:

(最多只允许输入30个字)