在当前目录下的/musics/下有N多音乐文件,程序运行的时候, windowsmediaplayer控件正在播放其中某一个文件:1、当程序检测正在播放的文件被删除或移动时,弹出对话框警告不准删除或移动,然后阻止这个文件的删除或移动2、当有音乐文件复制到这个文件夹(某些特定的音乐文件,*.mp3,*.wav,*.mid,*.ogg)的时候,弹出对话框提示“新增了音乐文件”3、当这个文件夹下有音乐文件被删除,但不是正在播放的文件时,提示“删除了音乐文件”

解决方案 »

  1.   

    http://download.csdn.net/source/778924
      

  2.   

    可参考这个源码:
    http://www.84ren.com/read.php?tid-28140.html
      

  3.   

    顺便再问下,一个list1控件,怎么用鼠标拖文件进来的方法得到文件名和路径要求:首先对文件类型进行判断,必须为*.mp3,*.wav,*.mid,*.ogg文件如果本来list1中没有元素,则在list1中增加这个文件的文件名(不包含路径)如果本来list1中有元素,则要判断一下这个文件在list1中是否已经存在(进行完整的路径和文件名验证),如果存在则不添加,如果不存在则添加进来最后把文件(包含路径)的地址赋给数组c(1 to 128)
      

  4.   

    给你一段代码参考,剩下的你自己处理吧:
    ' 新建一个工程标准EXE工程, 添加 List1
    ' 运行程序,然后在‘我的电脑’中选中一个或多个文件
    ' 用鼠标拖到 List1 中,看效果吧。
    Option ExplicitPrivate Sub Form_Load()    List1.OLEDropMode = 1End SubPrivate Sub List1_OLEDragDrop(Data As DataObject, Effect As Long, Button As Integer, Shift As Integer, X As Single, Y As Single)    If (Effect = 7) Then
            Dim i&
            List1.Clear
            For i = 1 To Data.Files.Count
                List1.AddItem Data.Files.Item(i)
            Next
        End If
    End Sub
      

  5.   

    http://topic.csdn.net/u/20091020/21/ced802f6-e272-4c72-9fc3-c79cffee9565.htmlOption Explicit Private WithEvents CreateFileEvent As SWbemSink 
    Private WithEvents DeleteFileEvent As SWbemSink 
    Private objSWbemServices As SWbemServices Private Sub Form_Load() 
        StartMonitorCreateFileEvent "c:\\\\boot" 
        StartMonitorDeleteFileEvent "c:\\\\boot" 
    End Sub 
    Private Sub Form_Unload(Cancel As Integer) 
        CreateFileEvent.Cancel 
        DeleteFileEvent.Cancel 
    End Sub '共享创建事件 
    Private Sub CreateFileEvent_OnObjectReady(ByVal objWbemObject As WbemScripting.ISWbemObject, ByVal objWbemAsyncContext As WbemScripting.ISWbemNamedValueSet) 
        Dim strFileName As String 
        Dim i As Integer 
        strFileName = objWbemObject.TargetInstance.PartComponent 
        i = InStr(strFileName, "CIM_DataFile.Name=") 
        strFileName = Mid(strFileName, i + Len("CIM_DataFile.Name=") + 1, Len(strFileName) - Len("CIM_DataFile.Name=") - i - 1) 
        strFileName = Replace(strFileName, "\\", "\") 
        MsgBox "创建文件: " & strFileName End Sub 
    'dim ss as WbemScripting. 
    Private Sub DeleteFileEvent_OnObjectReady(ByVal objWbemObject As WbemScripting.ISWbemObject, ByVal objWbemAsyncContext As WbemScripting.ISWbemNamedValueSet) 
        Dim strFileName As String 
        Dim i As Integer 
        strFileName = objWbemObject.TargetInstance.PartComponent 
        i = InStr(strFileName, "CIM_DataFile.Name=") 
        strFileName = Mid(strFileName, i + Len("CIM_DataFile.Name=") + 1, Len(strFileName) - Len("CIM_DataFile.Name=") - i - 1) 
        strFileName = Replace(strFileName, "\\", "\") 
        MsgBox "删除文件: " & strFileName 
    End Sub Private Sub StartMonitorCreateFileEvent(ByVal szFolderName As String) 
        Set CreateFileEvent = New SWbemSink 
        Set objSWbemServices = GetObject("winmgmts:\\.\root\cimv2") 
        objSWbemServices.ExecNotificationQueryAsync CreateFileEvent, "SELECT * FROM __InstanceCreationEvent " & _ 
            "WITHIN 1 WHERE TargetInstance ISA 'CIM_DirectoryContainsFile' And TargetInstance.GroupComponent='Win32_Directory.Name=""" & _ 
            szFolderName & """'" 
    End Sub Private Sub StartMonitorDeleteFileEvent(ByVal szFolderName As String) 
        Set DeleteFileEvent = New SWbemSink 
        Set objSWbemServices = GetObject("winmgmts:\\.\root\cimv2") 
        objSWbemServices.ExecNotificationQueryAsync DeleteFileEvent, "SELECT * FROM __InstanceDeletionEvent " & _ 
            "WITHIN 1 WHERE TargetInstance ISA 'CIM_DirectoryContainsFile' And TargetInstance.GroupComponent='Win32_Directory.Name=""" & _ 
            szFolderName & """'" 
    End Sub