2010-12-16 16 views
0

MSDN documentationによれば、GetSystemPowerStatusExは、CE4 SDKの場合のように、Winbase.hで宣言されたCE 5 Standard SDKの一部として利用できるはずです。それは削除されているようですが、CE4をターゲットとするアプリケーションを実行していると、デバイスのバッテリステータスが表示されます。これに対処する方法はありますか?GetSystemPowerStatusExがWindows CE 5.0 SDKから削除された理由

私の現在の考えは、バックグラウンドで実行され、権限を取得し、regキーに書き込み、しばらくの間CPUを浪費するのを避けるためにスリープする小さなアプリケーションを作成することです。私の主なアプリは、単にregキーを読むことができます。これは不気味ですが、より良い、より単純な代替手段があると確信しています

答えて

1

削除されましたか?それはそこにある - それはまだそこにあるin CE 6.0 too。何が削除されたと思いますか?

Windows CEはモジュラーOSです。 OEMがこの呼び出しをOSから除外できる可能性は非常に高いです(Power Managerコンポーネントを削除した可能性はありますが、これまで試みたことはありませんが)。つまり、あなたの特定のターゲットはコールをサポートしていない可能性がありますが、OS自体は依然としてサポートしています。

+0

質問に記載されているMicrosoftダウンロードセンターのリンクからWindows CE 5.0:Standard Software Development Kit(SDK)をダウンロードした場合のように、GetSystemPowerStatusEXはwinbase.hで宣言されていません。手動で宣言すると、 SDKライブラリにリンクしてもシンボルが見つかりません。これはすべてCE 4.0でうまくいきました。 –

+0

n.b.私はプラットフォームビルダーを使用していません。Microsoft Standard SDKを使用してドキュメントで推奨されているサードパーティのデバイスをターゲットにしています。私が言っているように、これは4.0で良いですが、5.0ではそうではありません –

+0

ああ、古いStandardSDKの崩壊。それはこれまで以上に多くの問題を作り出しました。私はいつもそれを使用しないよう人々に勧めました。私はここに2つのオプションがあると言いたい。まず、定義を持つ同じプロセッサをターゲットとする他のSDKを見つけることです。私は自分でその道を行くつもりですが、CEの仕事のすべての年から多くのSDKがあります。別のオプションは、GetProcAddress経由でロードしようとすることです。主な目的は、関数が実際にOSにないか、それともあなたのSDKにないかどうかを確認することです(私はそれがかなり可能性が高いと思います)。 – ctacke

関連する問題