【发布时间】:2012-01-01 14:21:15
【问题描述】:
如何在将新驱动器添加到“我的电脑”时捕捉事件,最好是在 NTFS 驱动器上为某个驱动器创建新挂载点时?
我发现了这一点,但它不适用于已安装的文件夹:
_eventWatcher = new ManagementEventWatcher("SELECT * FROM Win32_VolumeChangeEvent");
_eventWatcher.EventArrived += (o, args) =>
{switch(args.NewEvent["EventType"].ToString()[0])
{
case '2':
//mount
Debug.WriteLine(args.NewEvent["DriveName"]);
break;
case '3':
//unmount
break;
}
};
_eventWatcher.Start();
有什么想法吗?
【问题讨论】:
-
使用 Windows API,您应该处理 WM_DEVICECHANGE 消息。不过,不知道如何在 C# 中处理它。
-
NTFS 驱动器上的挂载文件夹是否有类似的情况?
标签: c# winapi filesystems mount drive