2

フルスクリーンで動作する Silverlight アプリケーションがあります。Silverlight を使用してシステムの電源状態 (基本的にバッテリー残量インジケーター) を表示する方法はありますか?

フォローしてみた

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

しかし、エラーメッセージが表示されました -

セキュリティ透過的なメソッド 'SilverlightApplication1.MainPage.x()' がメソッド 'SilverlightApplication1.MainPage.GetSystemPowerStatus(SilverlightApplication1.SYSTEM_POWER_STATUS)' を介してネイティブ コードを呼び出そうとしましたが失敗しました。ネイティブ コードを呼び出すには、メソッドがセキュリティ クリティカルまたはセキュリティ セーフ クリティカルである必要があります。

4

1 に答える 1

1

MSDN フォーラムの Brian Hendersonから:

Silverlight はサンドボックス化されたセキュリティ環境で実行され、クライアント API 関数にはアクセスできません。設計上、Silverlight はクロスクライアント、クロス OS (オペレーティング システム) であるため、ネイティブ クライアント API メソッドにアクセスできません。特定の Win32 API 関数を呼び出そうとしているので、Windows OS 固有のクライアント テクノロジを使用することをお勧めします。

于 2010-03-10T19:52:23.203 に答える