检测可移动存储何时卸载
我正在开发一个应用程序,该应用程序应该检测可移动存储卸载或从 USB 强行拔出时发生的事件。我怎样才能收到这些事件?
我已经看到 NSWorkspace
是平滑卸载设备的第一种可能性,但此类具有诸如 -unmountAndEjectDeviceAtPath:
之类的方法来卸载设备。有人可以向我指出一些检测未安装卷的示例代码吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
来自 HardwareGrowler 的一段代码:
然后,您需要实现对通知做出反应的方法
对于整个实现,请查看 http://growl.info/source.php
在源包中,转到 Extras/HardwareGrowler 并查看
VolumeNotifier.h/m
更新:
Peters 的答案优于此。如果遇到此问题,请考虑使用磁盘仲裁框架。
A pice of code from HardwareGrowler:
You then need to implement the methods to react on the notifications ala
For the whole implementation check out http://growl.info/source.php
In the Source bundle go to Extras/HardwareGrowler and there check out
VolumeNotifier.h/m
UPDATE:
Peters answer is superior to this. Please consider using the Disk Arbitration framework if you come about this problem.
使用 DARegisterDiskDisappearedCallback 函数 >磁盘仲裁框架。
Use the
DARegisterDiskDisappearedCallback
function in the Disk Arbitration framework.