2008-03-15

Use10Key更新

Use10Keyを少しだけ修正しました。 コメントで頂いていたサスペンド前に回線を切断しない問題の対応をしています。
少し前にいろいろ触ったときにCreateEvent()と WaitForSingleObject()の順番が逆になっていたのが原因でした。 何だかもう触るなよって感じですね。
 
実はもうひとつ ご連絡頂いている問題があって CorePlayer再生中にキーロックしてもサスペンドできないようです。 CorePlayerは持ってないので Media Playerで試してみたのですが、確かにサスペンドに移行しません。
 
原因はまだ調べきれていないのですが、もしかしてこれらのアプリはサスペンドタイマを無効にしているような気もしてきました。
もしそうなら結構面倒な問題ですね...。
 

24 件のコメント:

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

最新版にて、/klsuspendでキーロック時に回線が切断されました。
更新お疲れさまです。

メディアプレイヤーの件ですが、あれって仕様だと思ってました。
自分はMortPlayerを使っているのですが、MortPlayerは起動するたびClass名が違うので、再生中にキーロックするためにどうやってnotsuspendに指定しようか困っていました。
でも試してみたら指定しなくてもサスペンドしなかったので、便利だなあ、とか思ってました。

逆にサスペンドするようになると困ってしまうかもしれません(^_^;)

kazuaki さんのコメント...

こんばんは。
わーい。じゃぁ直さなくてもOKですね(違

MortPlayerでも同じなのですね。
確かにその手のソフトで動作中にサスペンドされても困るのでタイマを無効にしているのでしょうか...。
本来意図していた動作ではないのですが、お言葉にあまえて このまま諦めてしまうかもしれません(笑

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

自分はMortPlayerのTodayプラグインを
使っているのでプレーヤーが起動してるとき
最前じゃなくてもサスペンドできないのは
ちょっと不便です。

kazuaki さんのコメント...

こんばんは。
コメントありがとうございます。

その後直してみようとしたのですが、やはりSetSystemPowerState()で強制的にサスペンドさせると電話の問題で行き詰ってしまいます。
以前試した時は KeyLockSuspenderでは問題なかったと思うので解決方法はあると思うのですが今のところは良い案がありません。

何かいい情報を見つけたらまた試してみますので、時々覗いてみてください。

ゆーき さんのコメント...

いつもありがとうございます。
利用させていただいております。

私も元プログラマの端くれとして、
機械が巧く動かないもどかしさと、それを克服したときの喜びは分かっているつもりです。

挫けず適当に更新していってください。
楽しみにしています!

kazuaki さんのコメント...

ゆーきさん こんばんは。
コメントありがとうございます。

そうですね。
うまく動いてくれたときはとても嬉しいものです。
あまりに嬉しくて大してテストせずにアップしたりする訳ですが(笑

今のところそれほど困っていないので あまり力が入っていませんが、いつかは直したいですね。
長い目で見守ってやってください。

かず さんのコメント...

便利に使わせていただいています。

ひとつ要望なのですが、カメラ起動中にキーロックしてスクリーンオフやサスペンドでフリーズしてしまうのですが、キーロック前にカメラアプリを落とすようなことはでないでしょうか?

それともうちのアドエスだけなのかな?

kazuaki さんのコメント...

かずさん こんばんは。
ご連絡ありがとうございます。

確認してみまいた。
確かにフリーズしてしまいますね...。

ちょっと対応が遅くなるかもしれませんが、調べてみるようにします。

かず さんのコメント...

kazuakiさん、ご検討ありがとうございます!

無理のない範囲でよろしくお願いします。

たけたけ さんのコメント...

/klforceオプションを指定していないのに
復帰直後必ず画面オフが継続してしまいます

指定しているオプションは
/klsuspend /klscreenoff
です

あと要望なのですがサスペンド抑止指定にclassnameだけですと
指定したいソフトのクラス名がDialogの場合
そのソフトだけを指定する事ができません
タイトルやプロセス等でも指定できるようには出来ませんか

kazuaki さんのコメント...

たけたけさん こんばんは。
ご連絡ありがとうございます。

03になって Use10Keyは いらない子になってしまいました(笑
現在 アドエスを寝モバ専用機として再構築しようとしているので、サスペンド対象指定の問題も含めて確認してみます。

たけたけ さんのコメント...

私は初代から03に機種変してUse10Keyを導入しましたw
一度だけキーロック操作をしても画面offもせず
スタンバイ状態にもならないようになりました
10keyで電話が起動しない方だけは機能してました
再現方法が分からないのであまり参考にはならないと思いますが

たけたけ さんのコメント...

不具合なのか仕様なのかビミョーなところなのですが
サスペンド抑止指定ソフトが起動している時にキーロックしてもサスペンドが発生しないのは正常動作なのですが
キーロックしてからサスペンド抑止指定ソフトが起動してもサスペンドが発生してしまうようです
つまりはサスペンドから復帰してメール自動受信時にサスペンドして欲しくないから指定ソフトを起動させて抑止しようとしてもサスペンドしてしまっているのです

それとサスペンド抑止指定をしていると該当ソフトが起動している時は画面オフも機能していないように見受けられます

使用オプションは
/klsuspend /klscreenoff
です

kazuaki さんのコメント...

たけたけさん こんばんは。
お返事が遅くなり申し訳ありません。

ちょっとバタバタしていてご指摘の問題をまだ確認できていません。
ただ、サスペンド系はかなり手探りで作っているので挙動の怪しい点も多々あると思います。

Giraffeへの登録を目指してまずはアプリ指定の部分から手をつけかけていますので、長い目で見守ってやってください。

かず さんのコメント...

いつも便利に使わせていただいています。

お忙しいところ申し訳ないのですが、カメラ起動中にキーロックでフリーズに関してひとつ思いついたのでコメント書かせていただきます。

アドエスのカメラアプリの挙動を見ていると、起動時はサスペンド及び画面OFFすらしないようで、数分経つとアプリが自動で閉じてサスペンドに入るようです。

そこで、無理にアプリを落とすより、あるアプリが起動時は「なにもしない」といった「サスペンド」「画面OFF」のアプリ指定のような設定を出来るようにならないでしょうか?

kazuaki さんのコメント...

かずさん おはようございます。
アイディアありがとうございます。

現在のUse10Keyの内容とあわせると
「何もしない」
「画面を消す」
「サスペンドする」(といいつつサスペンドタイマーを変更する)
「強制サスペンドする」
といった指定になるでしょうか。

あとはアプリの指定の方法(XML? 設定画面?)を検討してみます。

かず さんのコメント...

kazuakiさん、時代は03に流れてる中、アドエスのサポートで申し訳ありませんが、とてもありがたいです。
ありがとうございます。

よろしくお願いいたします。

kazuaki さんのコメント...

かさん おはようございます。

少なくとも私は 03で使いますので大丈夫です(笑
ただ、今のところWeb巡回もできないくらいに仕事が詰まってしまっているので 少しお待たせしてしまうかもしれません

いつ頃になるかわかりませんので、時々ページを覗いてみてくださいね。

かず さんのコメント...

kazuakiさん、お忙しいようですが夏ばてなど体調に気を付けてくださいね。

無理をなさらない範囲でよろしくお願いします。

kazuaki さんのコメント...

かずさん おはようございます。

せっかくご心配頂いたにも関わらず、先週末からの風邪が直らず 今日は仕事を休むことになりました。

これで開発する時間が...
無理ですね(笑 おとなしく寝ておきます。

Velmy さんのコメント...

勝手ながら、キーロック部分をJTプラグインにしてみました。
http://uploader.wmsoft.org/src/wm0039.zip.html
問題あれば消しますので言ってください。

kazuaki さんのコメント...

Velmyさん こんにちは。

ちょうど JoeTuneの仕様書を読んでいたところでした。
設定ファイルの扱いやキーフックを共有できるのは素晴らしいですね。
私も何か作ってみようと思います。

Use10Keyに限らずですが 公開しているものについては自由にご利用頂いて構いません。
また、改善点等ありましたら是非教えてください。

そういえばサスペンド対象アプリの指定方法を変更しようとして放置したままでした。
JTプラグイン版に追い越されないように頑張ります(笑

Velmy さんのコメント...

ありがとうございます。
Use10KeyとJTSuspendの違いは・・・
・設定が固定(Use10Key.exe /klsuspend /klforce相当)
・テンキーの抑制をしない
・実際のサスペンドまでの時間を10→20に変更
・クラス名だけでなく、ウィンドウタイトルでもサスペンド抑制を指定可
サスペンドまでの時間を延ばしたのは、AutoRec.mscr でPHSでの通話内容を
保存しているのですが、10秒では後処理が間に合わず、次に電話がかかっ
てきたときにmicroSDを認識する前にアクセスしてしまい、最悪フリーズし
てしまうからです。

kazuaki さんのコメント...

Velmyさん こんばんは。

ウィンドウタイトルでの指定は以前からの課題でしたね。対応ありがとうございます。
私もテストで実行ファイル名での指定を追加してみたのですが こちらは有用なのかどうか疑問です。

他にも課題が残っているのでもう少し試行錯誤してみますね。