UWP EasClientDeviceInformation.SystemFirmwareVersion всегда возвращает 0 - PullRequest
0 голосов
/ 02 июля 2018

Я пытаюсь получить информацию о настольном или мобильном устройстве в UWP (универсальная платформа Windows), используя для этого класс EasClientDeviceInformation. Читая Документация о SystemFirmwareVersion или SystemHardwarVersion, он отмечает, что «свойство SystemFirmwareVersion извлекается из реестра. Если реестр по какой-либо причине не может быть прочитан, SystemFirmwareVersion возвращается в виде пустой строки». Который в моем случае ВСЕГДА возвращает пустую строку. Читая больше о UWP, я обнаружил, что приложения UWP работают в режиме «песочницы» и, следовательно, в первую очередь не имеют доступа к реестру.

Так как же этот метод может получить информацию от устройства?

Есть ли способ позволить UWP читать ключи реестра и передавать результаты в нужные методы, чтобы они работали?

Если есть возможность получить доступ к реестру (только для чтения), можно ли получить еще больше информации об устройстве (например, модель процессора, объем оперативной памяти, модель графического процессора и т. Д.), Поскольку я знаю, что по умолчанию UWP не может получить доступ к этой информации?

Примечание: это приложение будет использоваться для личного использования на ограниченных устройствах, поэтому оно не требует проверки со стороны Microsoft, в основном на устройствах Surface Pro и Windows Phone.

1 Ответ

0 голосов
/ 03 июля 2018

Многие свойства в EasClientDeviceInformation зависят от того, правильно ли они настроены производителем устройства, или от устройства определенного типа (в частности, SystemFirmwareVersion, вероятно, когда-либо присутствует только на Windows Phone, а не на Windows Desktop, и может даже отсутствовать там в некоторых случаях).

Неверно, что "приложения UWP [недоступны] для доступа к реестру" и неверно, что "UWP не может получить доступ к [CPU, GPU и т. Д.]."

В соответствии с политикой API-интерфейсы реестра не поддерживаются для приложений UWP, поскольку они представляют проблему поддерживаемости (ключи реестра - это в основном детали реализации ОС, а не приложения, на которые можно полагаться), но у вас определенно есть доступ, если вы вызываете реестр API напрямую. Кроме того, некоторые ключи реестра защищены списками контроля доступа, поэтому вы не можете их читать и / или записывать.

Вы можете использовать такие API, как Windows.Devices.Enumeration, DirectX или различные Win32 API, чтобы получить информацию о системе.

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