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

https://developer.apple.com/library/mac/documentation/Cocoa/Reference/ApplicationKit/Classes/NSWorkspace_Class/index.html

Сначала создайте NSNotification типа NSWorkspaceDidMountNotification

Обязательно установите KVP словаря userInfo соответствующим образом. (В документах NSWorkspace)

Наконец, отправьте уведомление в Центр уведомлений рабочей области [Центр уведомлений NSWorkspace]

Я подозреваю, что это может быть уловка.

РЕДАКТИРОВАТЬ Это, кажется, не делает трюк

Другие вопросы по тегам