我有一个用 .NET 2.0 框架用 C# 编写的 Windows 服务,它使用 FileSystemWatcher 来监视某些目录的更改。其中一些目录可能位于可移动媒体上,例如 USB 驱动器。当新驱动器插入系统时,我会通过 WMI 查询获得通知,并且可以设置新的 FileSystemWatcher。这一切都运作良好。
困难在于我希望用户能够使用 Windows“安全删除硬件”应用程序弹出驱动器,但 Windows 报告驱动器很忙,因为我正在通过 FileSystemWatcher 对其进行监视,并告诉用户驱动器不能删除。
那么,我的问题是,我的 Windows 服务如何知道用户何时请求弹出,以便我可以删除我的文件系统监视器并允许请求成功?