是否有活动让我知道是否安装了SD卡?必须复制数百张卡片



是否有Windows事件或机制可以用来知道SD卡是否安装在运行Windows XP/Vista/7的C#PC上?

直到今天,我找到了一种使用 WM 消息来了解是否连接了新驱动器的方法,以及一种使用 WQL 的方法,它们适用于 CD/DVD 和 USB,但没有人能够检测到我是否将 SD 卡插入 PC。这似乎与USB驱动器不同,我想这是因为"阅读器"硬件已经连接到PC。

但我不敢相信没有办法:(

我的问题有点背景:

必须手动复制 800 张 SD 卡,这是一次性的事情,我想制作一个小应用程序,一旦我插入卡就会启动复制作业,这样您就不必单击任何按钮。

这不是你要找的,但也许是另一种解决方案:

有一个指南,介绍如何在代码项目上将应用注册为自动播放处理程序。然后,您可以选中告诉窗口始终使用此操作的框,然后就可以了。

编辑:

另一种方法是使用代码项目中引入的 DriveDetector 类。此类将自动通知您有关到达或已删除的驱动器的信息,但我不确定这是否适用于闪存卡。

IIRC,Windows 7 已禁用除 CD/DVD/BD 以外的所有驱动器的自动播放。

如果我是你,我会这样做:

  1. 使用以下方法从目标驱动器(假设它始终是同一驱动器)获取文件列表: http://www.dotnetperls.com/directory-getfiles
  2. 如果列表长度为 0(即没有文件),则假设没有挂载任何内容
  3. 如果列表长度不是 0,请复制文件。

最新更新