Как проверить, дает ли пользователь разрешение Файловая система в Настройках? - PullRequest
0 голосов
/ 23 февраля 2020

Мое приложение действительно нуждается в разрешении файловой системы (broadFileSystemAccess), но, к сожалению, пользователь может отключить эти настройки в Windows Настройки> Конфиденциальность> Файловая система. Есть ли хороший способ проверить, что настройка включена во время выполнения, чтобы напомнить пользователю? Код проверки

    try {
        auto file = co_await winrt::Windows::Storage::StorageFile::GetFileFromPathAsync(L"C:\\Windows\\regedit.exe");
    } catch (winrt::hresult_error const& e) {
         // Show message dialog
    }

не кажется мне подходящим, поскольку пользователь может установить Windows на другой диск.

1 Ответ

0 голосов
/ 24 февраля 2020

В настоящее время нет четкого API для определения, открыта ли файловая система, вы можете проверить его, только когда получите файл.

Однако вы можете принять решение во время процесса проверки. Если вы используете оператор try-catch для обнаружения ошибки типа UnauthorizedAccessException, файловая система не будет открыта. Проверено на приоритетность несанкционированных ошибок даже при доступе к несуществующим файлам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...