名称変更(SigSleep -> CeSleep)
1クリック電源OFFモード(-p)追加
非常駐モード(-z)を追加
ログ抑止モード(-n)を追加
非日本語環境に対応
なお、実験した範囲では、WinCE における .exe 内の多言語リソースの選択基準は、単純に(リソース内での)言語IDの最も若いもの、らしい(なんだそれ)。FindResourceEx() のようのなものでもあればいいのだが、それもないため、やむなく自前で、環境に合わせて文字列切り替えする羽目に。
Categories
Android |
CeSleep |
comp_misc |
comp_tips |
fastcopy |
ipmsg |
mailman |
misc |
npop |
ScheEdit |
sigsleep |
tdiary |
thinkpad
うほ。いただきました。実験してみてまたレポートさせていただきます。
電源OFF載せちゃったんなら、リセットとスクリーンオフも載せちゃいましょうw
追加で厚かましい要望^^;
もしスクリーンオフを実装されるのでしたら、同時にキーロックもお願いしたいです。
W-ZERO3のキーロックは、縦横画面切替キーの長押しで実現しているのですが、これがToday画面からしかできないという糞仕様で。
キーロックしてしまうと再び同じキーの長押しでしか解除できませんので、電源オフもスクリーンオフもできませんw
オーディオプレーヤーとしての使用時に電池の無駄遣いで。。。
できますればよろしくです。
sigsleepは-s10で、cesleepは-n -s10で試してみました。
そのオプションのショートカットをそれぞれスタートアップに起きました。
もちろん片方ずつのインスコ、ショートカット登録です。
W-ZERO3は無線LAN有効だとオートパワーオフが効かないのでその状態で、
RescoRadioを鳴らしっぱなし放置。
sigの方は前の報告の通りで効くときと効かないときが。
リセット後の余分な操作をしない同条件なので原因はわかりません。
他の常駐アプリによる弊害かもしれませんが。
で、ceの方なのですが、一回目の10分後動作の時に、「sigsleepがないので動作できませんでした」という内容(うろおぼえです)のメッセージがでました。
パワーオフ動作もしていません。
もちろん、sigのexeもショートカットも本体からは消しています。
レジストリも一通り調べましたが、sigの痕跡は見つけられませんでした。
どこかレジストリを使用しているなら教えてください。
で、その後またリセットして試していますが、何度やっても10分後になにもイベントが起きません。
ceを消してsig入れたらちゃんと動作します。
というわけで、わたしのZERO-3では残念ながらcesleepはまったく動作しませんでした。以上、報告まで。
手元で、再度、動作テストしてみましたが、特に問題ないですねぇ...
>「sigsleepがないので動作できませんでした」
これは、sigsleep 側の話ですね。
readme.txt に書いてある通り、電源ON イベントの監視登録をして
あるにもかかわらず、sigsleep.exe を移動したり、削除すると、
発生するエラーです。
ただ、通常の使い方ですと、sigsleep を正常に終了させれば、監視
登録も自動的に解除されるはずです。
また、そのエラーが発生するのは、電源 ON イベント発生時に限られ
ます。従い、ちょっと謎ですね。
> どこかレジストリを使用しているなら教えてください。
sigsleep/cesleep は、レジストリを使用していません。
ただ、電源 ON イベント監視登録をCeSetUserNotificationEx() という
API で行っていますが、この API がレジストリを使って保存している
可能性はあります。ともあれ、sigsleep を実行&終了させれば、解除
されるはずです。
> リセットとスクリーンオフも載せちゃいましょうw
>(略)
> もしスクリーンオフを実装されるのでしたら、同時にキーロックもお願いしたいです。
そうですね。
これらの機能を実現するための API が判れば、内容自体は簡単そうなので、
前向きに検討します(笑)
いちおう、念のためということで、
http://www.ipmsg.org/tools/cesleep_test.zip
をおいておきました。
もし、これを実行した場合に、"registed event is XXX" というメッセージが
出ましたら、お教えください。(100個以上ないと出ないはずですが)
また、-n を指定しない場合に、(リセットではなく)電源ON/OFFした場合に、
電源ONイベントが CeSleep.txt に記録されているかどうか、確認できますで
しょうか?
すんません!
リセットにはMagicButtonを使ってたのですが、
もしやと思ってリセットボタンを押すリセットで試しましたら、sig、ce共100%動作しました。
MBのリセットは何らかの情報がメモリ上に一部取り残されていたようです。
当方の不手際で長い間お騒がせしてしまって申し訳ありませんでした。
test版まで作っていただいて、穴があったら入りたいです。
いやもう本当にごめんなさいです&ありがとうございました。
これからもよろしくお願いいたします。
あ、今またエラーが。
以下のメッセージボックスが。
アラームエラー
\ProgramFiles\SigSleep\SIGSLEEP.EXEを実行することができません。
最初に報告したのと同じです。
もちろん、sigのexeもショートカットもすべて消してます。
sig消して一回目というわけではなく、ceが正しく動作した実績のある状態で起きます。
タスクトレイのアイコンはCEですので、ceの方が動いているのは間違いないんですが。
これからtest版を試させていただきます。
いろいろテストしていただき、ありがとうございます。
> アラームエラー
どのタイミングでエラーが出ていますでしょうか?(電源ON時?)
このエラーが出るということは、このパスをスケジューラに登録している
何かがいるということになります。
sigsleep/cesleep ともに、登録は、GetModuleFileName()で、自分自身の
ファイル名を API で取得していて、プログラム内で固定値を使っていません。
したがい、リセット以降に、\ProgramFiles\SigSleep\SIGSLEEP.EXE が存在
し、実行されたことがあった、ということ以外は考えにくいです。もちろん、
過去のスケジューラ登録を再登録するような、プログラムが存在すれば別で
すけど。あとは、たとえば、ActiveSync 等による影響とかはないですかね?
ともあれ、sigsleep/cesleep の exe や lnk もすべて消して、リセットや
電源ON/OFFで、何のエラーも出ないことを何度か確認してから(つまり完全に
clean な状態)、cesleep を入れて、動作確認してみてもらえませんか?
test版報告。
ログには、電源落ちた時間にはにはPowerOff by CeSleep(s)がちゃんと記述されています。
で、ボタンタッチして起動した時間は今まで通りに。
んで、サウンドエラーのメッセージボックスは、
電源復帰するときに生成されているようで、
電源復帰時にサスペンド完了のボックスの上に表示されるのが一瞬見えます。
それにしてもなんで「サウンドエラー」なんでしょうねぇ?
なんかのアラームイベントに関連づけでもしちゃったのかなぁ。
あ、書いてるうちにお返事がw
明日、完全消去した状態でテストしてみます。
ご迷惑おおかけします。
追加です。
設定>音と通知を全部無効にしてもでました。
サスペンド復帰時のアラームイベントって他にあるのかなぁ。
MagicButtonのタスクバー的には、サスペンド完了メッセージはCeSleepが吐いていますが、アラームエラーメッセージはアラームエラーというタスクができていて、なにから吐かれているのかわかりません。
アラームエラーメッセージの件ですが、CeSleep以下、スタートアップ物件をすべて消しても電源ONすると出てきます。
CeSleepの動作とは無関係のようです。。。
物理的なリセットを押した電源ONではでてきません。
なにかの電源ONイベントと関連付けられているようです。
レジストリにはやはり見あたらなくて混乱しております。
引き続き調査してみます。
オールリセットしたら解決するんでしょうが気になりますんで。。。
03のレジストリとファイルをひとつずつ丹念に調べていましたw
んで、ふと思いついてgoogleで検索してみると。。。
http://bbs2.wince.ne.jp/bbs2002/qanda/Search.asp?Key=%83A%83%89%81%5B%83%80%83G%83%89%81%5B&sBool=AND&sMode=BETA&sRow=20&sName=
どうやらOSのバグのようで、OS自体に書き込まれているらしいです。
レジストリ探してもファイル探しても見つからないわけです。。。
どうもお騒がせいたしましたm(__)m
とりあえず、こんなミニツールをつくっておきましたので、ご利用ください。
http://www.ipmsg.org/archive/ScheDel050.zip
(登録されたスケジュールを列挙して、削除するかどうか問い合わせます)