How to get SYSTEM_POWER_STATUS using Silverlight 2/3/4?

458 Views Asked by At

I have a Silverlight application running full screen. Is there a way i can display system power status ( basically battery indicator how much is remaining ? ) using silverlight?

I tried following

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

But got error message -

Attempt by security transparent method 'SilverlightApplication1.MainPage.x()' to call native code through method 'SilverlightApplication1.MainPage.GetSystemPowerStatus(SilverlightApplication1.SYSTEM_POWER_STATUS)' failed. Methods must be security critical or security safe-critical to call native code.

1

There are 1 best solutions below

2
Frank Krueger On BEST ANSWER

From Brian Henderson on the MSDN forums:

Silverlight runs in a sandboxed security environment and does not have access to client API functions. By design, Silverlight is a cross-client, cross-OS (operating system) so does not not have access to native client API methods. Since you are attempting to call specific Win32 API functions, I would recommend you choose to use a Windows OS specific client technology.