2013-04-09 4 views
1

У меня есть приложение WinRT, которое, в частности, загружает файлы из онлайн-сервиса и управляет локальной копией файлов. При локальном хранении файлы необходимо зашифровать, но во время редактирования/просмотра, как это происходит во внешних редакторах (офис, pdf и т. Д.), Их необходимо расшифровать.Обработка выходных/изменений/etc из внешнего редактора в приложении WinRT

Есть ли способ в WinRT API установить запуск внешнего браузера (то есть Windows.System.Launcher.LaunchFileAsync) и как-то получить уведомление, когда это приложение было закрыто?

Прямо сейчас я могу загрузить и зашифровать файл в порядке, но когда я хочу его просмотреть, я должен его расшифровать и запустить внешний редактор без возможности узнать (или даже обязательно запустить его снова), когда он будет готов, Я могу повторно зашифровать файл.

В идеале я хотел бы каким-то образом привязать внешнее приложение к моему, чтобы мое приложение не было доступно до закрытия внешнего редактора, но будет соглашаться на уведомление, когда приложение закрыто или какие-либо другие решения для творчества.

+0

У вас может быть кнопка, которая говорит «нажмите здесь, когда закончите редактирование» –

+0

Мысль об этом уже, но это довольно восприимчивая к ошибкам. Если пользователь возвращается к моему приложению до закрытия редактора, я могу или не могу удалить временный файл, а затем, если я это сделаю, я потеряю свои изменения и откроюсь внешнему редактору, а затем повторно сохранит незашифрованный скопируйте позже. Тем более, что некоторые редакторы блокируют исходный файл, а некоторые - нет. – Clancy

+0

Кроме того, мое приложение приостанавливается при открытии внешнего редактора. Если система решит закрыть мое приложение, пользователь даже не увидит, что он все еще работает, чтобы вернуться назад и нажмите «done». Даже если он не завершен, пользователь все равно должен вернуться к нему и нажать «done» для повторного шифрования. – Clancy

ответ

0

Ваш сценарий приложений выглядит как приложение для skydrive от Microsoft. Он загружает файлы из службы skydrive, интегрируется с файлами open и file save pickers.

Попробуйте интегрироваться с контрактами на сбор файлов.

вы можете начать here. Существует также пример кода для реализации контрактов на сбор файлов.

+0

Посмотрел также на сборщики файлов, но проблема заключается в том, что пользователю нужно будет открыть внешнее приложение, а затем выбрать, чтобы открыть файл из моего приложения, а затем выбрать его. Поскольку поток начинается с моего приложения, это было бы ужасным пользовательским интерфейсом. – Clancy

Смежные вопросы