Опитвам се да накарам приложението ми за текстов редактор да обработва стартиране на файл. Microsoft има пример как да направите това тук:
http://msdn.microsoft.com/en-us/library/windows/apps/hh452684.aspx
За съжаление, той спира в момента на получаване на файла и не дава никаква информация за това как всъщност да се отвори въпросният файл.
Мога успешно да се справя с активираното събитие и в крайна сметка получавам абсолютен път до файла. Например,
C:\Users\Rory\Documents\test.txt
Приложенията на Metro нямат разрешение за достъп до абсолютни пътища, освен при определени условия.
- ако файлът е избран от потребителя чрез инструмент за избор на файл
- ако приложението е имало достъп до файла преди и пътят е бил съхранен в Windows.Storage.AccessCache
- ако на приложението се предава файлът като стартиране.
Въпреки че номер 3 се прилага в този случай, не мога да отворя файла.
Опитах Windows.Storage.StorageFile.getFileFromPathAsync(path_to_file)
, но получавам тази грешка
0x80070005 - JavaScript runtime error: Access is denied.
WinRT information: Cannot access the specified file or folder (6).
The item is not in a location that the application has access to (including
application data folders, folders that are accessible via capabilities
and persisted items in the StorageApplicationPermissions lists). Verify
that the file is not marked with system or hidden file attributes.
Вече съм настроил манифеста на пакета на приложението си да приема txt файлове.