2007年9月20日木曜日

ダイアルアップ中の判定

uNClockの自動サスペンドへの対応

Eメール受信中には自動サスペンドしないようにする必要がある。
昨日はネットワークに接続中かどうかを判定することが出来たが、ダイアルアップ中でまだ接続が確立していない状態を判定できていなかった。

ダイアルアップ中であることを判定するのにレジストリ
Software\Sharp\ShPhoneLib\PppConnect
を見ることにした。PppConnectは接続試行中に1接続すると2になるのだろうと予想

その他、
uNClockは時計表示中に、キーを押したり、非アクティブウィンドウになったら自動終了するようになっている。Eメール受信でサスペンドから復帰したときに、Eメール受信中の通知ダイアログが表示されることで、uNClockが一瞬で終了する事がある

この時はまだ接続試行前でPppConnectもまだ0のままで、Eメール受信前にサスペンドしてしまう
そこで、設定時間経過後に自動終了した場合のみ自動サスペンドするようにした

つまり、自動サスペンドする条件は3つで
  1. キーロックしている
  2. ネットに接続していない
  3. 指定時間で自動終了しようとしている
これら全てを満たす場合にのみサスペンドする

あとは電話の着信でwakeupしたときにサスペンドしないように処理する必要があると思うが、どうやら着信中はサスペンドの要求は無視されるようでサスペンドしなかった

exeファイル

これで他に穴が無いか、ちょっと様子を見て、問題が出なければ、cabファイルを作ってリリースしようと思う

7 件のコメント:

とおりすがり さんのコメント...

いいかんじで機能しています!
便利なツールをありがとうございます

おとーぽん さんのコメント...

とおりすがりさん
コメントありがとうございます
自動サスペンドの条件に穴が無いか、ちょっと心配だったので、試験的にしか公開していないので、試して報告してくれる人がいると助かりますね

匿名 さんのコメント...

公開日より使用させていただいています。
何ら問題なく作動しています。
本当に便利なツール有難う御座いました。

青陰 さんのコメント...

WS003SHで使用してます。
特に問題ないようですが、1secで戻るようにしてるとメール受信に失敗したことが一度だけあります。

003ではキーロックスイッチがないのでサスペンドから復帰したときすぐロック解除しないとサスペンドしてしまいますが、これはしょうがないですね。

両方とも5secにすることで回避してます。

おとーぽん さんのコメント...

匿名さん、青陰さん
コメントありがとうございます

1Sec設定時は自動サスペンドまで少し待つようにしてみます(表示が終わってから約3秒)

ちょろぎ さんのコメント...

いつも便利に使わせてもらっています。
要望なのですが、表示、非表示の際のアニメーションをオフにする機能をつけてもらえないでしょうか?
かっこいいのですが、長く使っていると特に消える際に邪魔に感じてしまします。
なのでもし出来ましたら、現れるときと消えるときのアニメを、制御できるオプションをつけてもらえるととても嬉しいです。

おとーぽん さんのコメント...

ちょろぎさん
コメントありがとうございます

仰るとおり、アニメーションとか半透明表示って嬉しいのは最初だけなんですよね。

今はuGNoteReaderの開発をやってる(実はあまりやってない)けど、上手くいってないので、こちらの要望を先にやろうかな~