Top Page
CeSleep English Page

CeSleep (Windows CE Sleeper)

WindowsCE マシン(SigmarionII, W-ZERO3, iPAQ 等)で、
(主に午前0:00 に)自動で電源が ON になった後、サスペンドが効かずに、
気が付いたときには電池がほとんどなくなってしまう、という現象に対処
する(+1クリック電源OFFなども可能)ためのソフトウェア。

仕上がり品: CeSleep102.zip (ARM 系)
ソース:CeSleep102src.zip

おまけ2:MIPS HPC/2000用(シグマリオンII等) cesleep v1.01
おまけ1:初代シグマリオン用(MIPS HPC/Pro) sigsleep

2006/01/08 作成
2008/02/11 更新
※W-ZERO3をお使いの方は、v0.98以降に update して下さい(詳細はこちら
掲示板 開発メモ (過去ログ)
---------------------------------------------------------------------
 注意:実行(監視)中は、実行ファイルを移動しないでください。
   (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)用版を作成


連絡先:email(画像になっています)

..up menu

Copyright(C) 2006 SHIROUZU Hiroaki