---------------------------------------------------------------------
注意:実行(監視)中は、実行ファイルを移動しないでください。
(Event Notify 登録パスが狂い、正常に実行されなくなります)
---------------------------------------------------------------------
■ 1. 概要
・WindowsCE (含む Windows Mobile) 搭載マシンで、(主に午前0:00に)
自動で電源が入ったまま、サスペンドが有効にならず、気が付いたとき
には電池がほとんどなくなってしまう、という現象に対処するための
ソフトウェアです。(それ以外に、アイコンクリックでの電源OFF等や
リブート等のオプションも用意されています)
■ 2. 使用上の注意
・「CeSleep(WinCE Sleeper)」は、実行ファイル・ソースコード共に
「永久に」フリーソフトウェアです。
・このソフトウェアの使用による、いかなる損害に対しても作者は責任を負
いません。
・著作権は、作者(白水啓章)にあります。なお、改変版の作成や再配布は、
原作者に責任や制限を負わさない限り、商用・非商用を問わず、ご自由に
どうぞ。(BSDライセンスとお考えください)
■ 3. 動作環境
・WindowsCE 3.0 以降の OS 全般(HPC/2000, PocketPC, Windows Mobile 等)
・ARM系 CPU (MIPS系は v1.01以前をお使いください)
■ 4. 使い方
・起動すると、タスクトレイに常駐して、0:00 の自動起動を監視します。
・午前0:00 の起動を検出、もしくは指定時間(-s で指定)連続の電源
ON を検出すると「20秒後にサスペンドに入ります」というダイアログ
が出ます。サスペンドに入りたくない場合は、「キャンセル」ボタン
を押してください。
・ルート下に CeSleep.txt という「電源ON」および「CeSleep による
電源OFF」の履歴を記録したログファイルを作ります。(-n で抑止)
・終了するには、タスクトレイアイコンをクリックして、ダイアログを
出し、その右下にある「Exit」ボタンを押します。
(Reboot ボタンを押すとマシンをリブートします)
・オプション指定(ショートカットを作成し、そのプロパティ設定で指定)
-e ... 電源オン監視を削除します(-z による監視時)。
なお、削除後、直ちに終了します。(常駐しません)
-ee ... -e と同じですが、削除メッセージを出しません
-n ... CeSleep.txt を作りません
-p ... 通常アイコンの代わりに、電源OFFアイコン(クリックすると
電源OFF)をタスクトレイに出します。
常駐を解除するには、CeSleepをもう一度実行します。
なお、CTLキーを押しながらクリックすると、通常のダイアログ
が出ます。
-r ... 電源OFF時に"サスペンド完了"のメッセージを出しません。
-R ... マシンを再起動します。
-s ... -s60 などと指定すると、60分連続の電源ON も監視します
-x ... いきなり、電源OFFします。(常駐や常駐解除はしません)
-z ... 非常駐状態で監視します(電源ONイベント登録のみ。-s と
組み合わせることはできません。監視解除するには、-z を
指定せずに起動&終了するか、-e 指定で起動します)
-zz ... -z と同様ですが、起動時にメッセージを出しません。
■ 5. 動作原理
・CeSetUserNotificationEx API を使用して、電源ON を検出しています。
(version 0.50 と違い、自前タイマーは廃止しています)
・ちなみに、問題は、以下の2つが重なった場合に発生するようです。
1.0:00 に勝手に電源が入ってしまうこと。
(ちなみに私の環境では(CeSleep.txt の記録によると)毎週
月曜日の0:00に必ず起動しているようです。自動起動する類
(予定表等)は一通りチェックを外しているのですが…)
2.自動サスペンドが働かなくなること。
(CFカード等の周辺デバイスを使うとそうなり易いようですね。一旦、
この状態になった場合、リセットするまで回復しない模様です)
■ 6. 備考
・CeSleep を終了すると、自動的に CeSleep の Event Notify登録が解除
されますが、万一、何らかの原因で、終了後や削除後にアラームエラー
が出る場合(作者環境では起きたことはありませんが)、
https://ipmsg.org/tools/scheedit.html
を使って、Event Notify内の登録エントリを削除してください。
また、この時に表示される登録内容を連絡していただけると助かります。
■ 7. 最新版等について
・https://ipmsg.org/tools/cesleep.html にあります。
また、掲示板や作者の連絡先等も書いてあります。
■ 8. 履歴
ver 0.50 ... 暫定公開(SigSleep)版(2003/03/16)
ver 0.70 ... 電源ON検出を CeSetUserNotificationEx API に変更
ver 0.80 ... 午前0:00 起動以外に 20分連続の電源ON でも、
サスペンドダイアログを出すように変更。
ルート下に sigsleep.txt という電源ON 履歴を記録
したログファイルを残すようにした。
ver 0.90 ... 午前0:00 起動チェックを 0:00:00 から 15秒間だった
のを 60秒間に延長。連続電源ONチェックを 20 -> 60
分連続に延長。
ver 0.91 ... 連続電源ONチェックを時間指定(-s) 可能にした上で、
デフォルトでは、この機能をOFFに。
ver 0.92 ... 環境により、起動時にアプリケーションエラーが発生
する場合があったのを修正
ver 0.93 ... 自動電源ON 検出対象を 0:00 だけから、0:01 までを
検出対象に含めるよう変更
ver 0.94 ... CeSleep に名称変更。
1クリック電源OFFモード追加。非常駐モードを追加。
ログ抑止モードを追加。非日本語環境に対応。
ver 0.95 ... 大量の Event Notify登録(100件以上)がされている
場合に、Event Notifyが2重登録される可能性があった
のを修正
ver 0.97 ... 一部環境では、API 経由での Event Notify登録が削除
できないため(CeGetUserNotificationHandles() や
CeClearUserNotification() といったAPI が正常に
使えない環境があるらしい?)、EventDB から、直接、
エントリを削除する形に変更。
ver 0.98 ... EventDB を SysVol 以外からも探索するよう変更
ver 0.99 ... 電源OFF時に、"サスペンド完了" のメッセージを出さ
ないオプション(-r)を追加
ver 1.00 ... 非常駐指定(-z)時に、一度作動すると、設定が解除さ
れていたのを修正。非常駐指定(-z)時に、-r が効いて
いなかったのを修正
ver 1.01 ... 明示的な電源オン監視の削除(-e/-ee)、警告なしの
非常駐モード(-zz)の追加
ver 1.02 ... リブート機能の追加。電源オフ(-p)モード時に、CTL
キーを押しながらクリックした場合は、通常動作に。
(おまけ)
ver 0.51 ... シグマリオン初代(MIPS HPC/Pro)用版を作成
|