views:

46

answers:

1

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  A: 

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.

Frank Krueger
Does out-of-browser help in this case ?
bugBurger
Silverlight is **still** a cross-platform technology even when it's out of the browser. What exactly will your app do on the Mac? Or on Linux?
Frank Krueger