首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在.Net中有检测cd、DVD盘(或U盘)插入的简单事件吗?

在.Net中有检测cd、DVD盘(或U盘)插入的简单事件吗?
EN

Stack Overflow用户
提问于 2009-05-28 10:59:31
回答 2查看 446关注 0票数 0

我知道你可以通过一个WMI事件或者覆盖WndProc来查找正确的消息,但是我想知道net框架中是否隐藏了一些东西,使得这项任务变得更容易。

EN

回答 2

Stack Overflow用户

发布于 2009-05-28 11:09:10

这个免费的DriveDetector类提供了这个功能(至少对于U盘是这样的,这就是我使用它的目的)。它使用您所描述的WndProc方法。

我不知道标准.NET库中有类似的东西。

票数 1
EN

Stack Overflow用户

发布于 2010-04-15 22:39:30

在以下代码中,当检测到新驱动器时,moDiskDetector将引发EventArrived事件。

要检测驱动器的移除,请使用"__InstanceDeletionEvent“。

代码语言:javascript
复制
Private WithEvents moDiskAddWatcher As ManagementEventWatcher

Private Sub StartWatcher()

    If moDiskAddWatcher Is Nothing Then
        moDiskAddWatcher = CreateWatcher("__InstanceCreationEvent", "(TargetInstance ISA 'Win32_DiskDrive')")
    End If
    moDiskAddWatcher.Start()

End Sub

Private Sub StopWatcher()

    If moDiskAddWatcher IsNot Nothing Then
        moDiskAddWatcher.Stop()
        moDiskAddWatcher.Dispose()
    End If

End Sub

Private Function CreateWatcher(ByVal sClassName As String, ByVal sCondition As String) As ManagementEventWatcher

    Dim oQuery As New WqlEventQuery()

    oQuery.EventClassName = sClassName
    oQuery.WithinInterval = New TimeSpan(0, 0, 5)
    oQuery.Condition = sCondition
    Return New ManagementEventWatcher(oQuery)

End Function
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/920285

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档