Как получить SYSTEM_POWER_STATUS с помощью Silverlight 2/3/4? - PullRequest
2 голосов
/ 10 марта 2010

У меня есть приложение Silverlight, работающее во весь экран. Есть ли способ отображения состояния питания системы (в основном индикатор заряда батареи, сколько осталось?) С помощью Silverlight?

Я пытался подписаться

[DllImport("kernel32.dll")]
private static extern long GetSystemPowerStatus(SYSTEM_POWER_STATUS
lpSystemPowerStatus);

Но получено сообщение об ошибке -

Попытка прозрачным методом безопасности 'SilverlightApplication1.MainPage.x ()' вызвать нативный код через метод 'SilverlightApplication1.MainPage.GetSystemPowerStatus (SilverlightApplication1.SYSTEM_POWER_STATUS)' не удалось. Методы должны быть безопасными критический или безопасный безопасный для вызвать нативный код.

1 Ответ

1 голос
/ 10 марта 2010

С Брайан Хендерсон на форумах MSDN :

Silverlight работает в изолированной среде безопасности и не имеет доступа к функциям API клиента. По своей сути Silverlight является кросс-клиентом, кросс-ОС (операционной системой), поэтому не имеет доступа к собственным методам API клиента. Поскольку вы пытаетесь вызывать определенные функции Win32 API, я бы порекомендовал вам выбрать использование клиентской технологии Windows OS.

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