【发布时间】:2015-01-07 07:05:13
【问题描述】:
我使用磁盘仲裁框架来管理各种驱动器和磁盘。
我已经注册了回调函数DADiskAppearedCallback和DADiskDisappearCallback。
对于 USB 驱动器,一切似乎都可以正常工作,但对于 CD/DVD,我遇到了问题。
加载 CD/DVD 后,我使用磁盘的 BSDName 卸载 (DADiskUnmount()) 驱动器。
然后在对磁盘进行一些验证后,我使用 BSDName 再次挂载 (DADiskMount()) 磁盘。
当我再次挂载 CD/DVD 时,在
中设置的默认应用程序系统偏好->硬件->Cds & DVSs
没有启动。
例如。对于视频 DVD - 打开 DVD 播放器。 DVD 播放器应该在这里启动。
我该如何克服这个问题?
我仍在寻找遇到的解决方案,“SystemUIServer”管理应在插入 CD/DVD 时挂载的应用程序。我可以在 CD/DVD 安装上触发该操作吗? 或者这是在 CD/DVD 挂载上手动启动用户提供的应用程序的正确方法吗?
【问题讨论】:
-
不拦截安装时
mount命令的输出与以编程方式安装后的输出相比是什么?特别是,是否有重要的安装选项?如果是这样,您可能需要使用DADiskMountWithArguments()以便您可以通过这些。此外,如果您使用umount/mount或磁盘工具卸载并重新安装卷,是否会启动用户指定的应用程序?
标签: macos cocoa diskarbitration cddvd