OSX-Mounting DVD программно не запускает указанное пользователем приложение
Я использовал дисковый арбитраж для управления различными дисками и дисками.
Я зарегистрировал функции обратного вызова DADiskAppearedCallback
а также DADiskDisappearCallback
,
Для дисков USB все, кажется, работает отлично, но для CD/DVD я сталкиваюсь с проблемой.
После загрузки CD/DVD у меня размонтируется (DADiskUnmount()
) диск, использующий BSDName диска. Затем после некоторой проверки диска я делаю монтирование (DADiskMount()
) диск снова с использованием BSDName.
Когда я снова монтирую CD/DVD, приложение по умолчанию устанавливается в
Системные настройки-> Оборудование-> Компакт-диски и DVS
не запускается
Например, Для видео DVD - Открыть DVD-плеер. Здесь DVD-плеер должен быть запущен.
Пожалуйста, предоставьте любые предложения по преодолению этой проблемы.
Спасибо
Я все еще ищу решение, с которым сталкивался, "SystemUIServer" управляет приложением, которое должно монтироваться при вставке CD/DVD. Могу ли я запустить это действие на монтировании CD/DVD? Или это правильный способ вручную запустить предоставленное пользователем приложение на CD/DVD-монтировании?
1 ответ
Вы можете попробовать щекотать это с NSWorkSpace
Сначала создайте NSNotification типа NSWorkspaceDidMountNotification
Обязательно установите KVP словаря userInfo соответствующим образом. (В документах NSWorkspace)
Наконец, отправьте уведомление в Центр уведомлений рабочей области [Центр уведомлений NSWorkspace]
Я подозреваю, что это может быть уловка.
РЕДАКТИРОВАТЬ Это, кажется, не делает трюк