2007-12-23

Use10Key更新

「本来の機能からの脱線が大きくなりすぎてきたのでこの辺で...」と言った舌の根も乾かないうちに Use10Keyを更新しました。
  • up0865.zip
  • up0867.zip
    (12/23 23:30追記)
    電話アプリが見つからなかった場合の再試行時にバグがあったので修正しました。
  • up0871.zip
    (12/24追記)
    v0.8の対応が不完全だったので再度修正しました。
 
1つ目はバグ修正。
/klsuspend /klforcetを指定した状態でサスペンド対象外のアプリが起動していたためにサスペンドせず画面オフになった場合、/klforcetが有効になっていませんでした。
 
2つ目はサスペンド対象外のアプリを設定ファイルで指定できるようにしました。
Use10Keyと同じフォルダに Use10KeyConfig.xmltという名前のファイルを作成しサスペンド対象外にしたいアプリのクラス名を指定してください。
<?xml version="1.0" encoding="utf-8"?>
<use10key>
  <donotsuspend>
    <app classname="WMP for Mobile Devices" />
    <app classname="TCPMP_Win" />
    <app classname="wCorePlayer" />
    <app classname="OpWindow" />
    <app classname="WCE_NetFront" />
    <app classname="AfxFrameOrView42u" />
    <app classname="IExplore" />
  </donotsuspend>
</use10key>
 
これで問題が無いようなら、今度こそ脱線しすぎたのでこの辺で...。
 

13 件のコメント:

Velmy さんのコメント...

採用ありがとうございます。自分的にほぼ完璧な状態になりました。
ただ、電話アプリの再検索時の終了条件が間違ってませんか?
再検索を選ぶとループします。(いつまでたっても再検索の選択画面が表示される。)
正しいかどうかはわかりませんが、下記の様に変更してループされないようにはなりました。

} while ((IDOK == MessageBox(
NULL,
_T("電話アプリが見つかりません。\r\n再度検索しますか?"),
APP_NAME,
MB_OKCANCEL | MB_ICONQUESTION)) && (!g_hDenwa));

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

キーロックスイッチの連動が全く使えないです。

kazuaki さんのコメント...

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

Velmyさん>
Σ (゚Д゚;)

その通りです。
可及的速やかに修正します。(すみません今日 2つ目ですね)

と言いたいのですが、実は RfLedRestrictorでこれを超えるバグ報告があって気が動転しています(笑)
向こうの目処がついたら修正版をアップしておきます。

ご連絡&修正ありがとうございました。


匿名さん>
ご連絡ありがとうございます。

テンキーは無効になっていますでしょうか?
また、キーロックは /klsuspendと/klscreenoffのどちらをご利用でしょうか?

もし「電話アプリが見つかりません。再度検索しますか?」というダイアログが表示されてキャンセルを押さないと先に進めなかったというのであれば、上でVelmyさんが指摘して下さっている問題とです。
この後 修正しますのでもう暫くお待ちください。

ちなみに自分の経験では動作テスト中に/klsuspendオプションの綴りを間違えていて暫く悩んでいたこともあります。
大丈夫とは思いますが、ショートカットのプロパティあたりも一度ご確認下さい。

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

kazuaki様、返答ありがとうございました。
テンキーは無効になります。
/klsuspendを指定しています。
綴りに間違いはありませんでした。
lock2suspendを使用すると問題なくキーロックスイッチでのサスペンドが有効になります。
また、0.8でも起動時「電話アプリが見つかりません。」が延々とループします。
テンキー無効がメインの使用なので今は、DelayStartupを使用して起動させています。

kazuaki さんのコメント...

こんにちは。
コメント&ご連絡ありがとうございます。

もう一度見直してみました。
ご指摘の通り、終了条件がおかしいですね。
他にもカウンタの初期化ミスなんかもありました。

修正版をアップしておきましたが、自分の環境では再試行に行く前に電話アプリを見つけるので もしかしたらまだおかしいかもしれません。

後、キーロックのコードが取れているかどうかを確認するための確認用バージョンをアップしています。
オプションの有無に関係なく、キーロックしたときに「wparam = 1c5」というメッセージが表示されます。
(終話ボタンやマナーモードでも同じようなメッセージが表示されます)
もし何もメッセージが出ないのであれば別のアプリがキーコードを横取りしているという事も考えられます。

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

0.9にて問題なく電話アプリをみつけているようでメッセージは表示されなくなりました。
確認用バージョンを試用してみたところ、メッセージの表示は確認できませんでした。
あやしいソフトをひとつづつ消していきましたが原因ソフトは分かりませんでした。

kazuaki さんのコメント...

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

再試行のメッセージが出ないということは問題なく常駐できているはずですね。

キーロックスイッチを押すと電話アプリに WM_USER + 562メッセージが飛んでくるはずです。
確認用バージョンでは このメッセージの wParamの値を表示しています。

キーロックボタンの他、終話ボタン等でも何の表示も出ないのであれば 電話アプリにメッセージが届いてない 又は 飛んでくるメッセージが違っているという事になると思います。
電話アプリに複数のバージョンがあるとも思えませんので、やはり何かのアプリに横取りされているのでは無いでしょうか。

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

もういちどためしてみました。
Use10Key-Debugをつかったところ
キーロックスイッチ:1c5
オンフック:1c2
オフフック:1c3
のメッセージが出ます。
その状態で/klsuspendオプションをつけてもキーロックスイッチでサスペンドには移行できないようです。

kazuaki さんのコメント...

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

「1c5」が表示されているのであればメッセージは正しく飛んできていますね。
この後はレジストリを読んで本当にキーロックされていればサスペンド又は画面オフをしているだけです。
(確認用バージョンはメッセージを表示するだけで何もしません)

キーロックした場合、Today画面の下に南京錠のアイコンが表示されますでしょうか?

またサスペンドするだけのプログラムを作ってみましたのでご確認お願いします。
そのまま実行するとサスペンド(Use10Keyと同様通信は切断します)。/screenoffオプションで画面オフを行います。

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

キーロック時南京錠アイコンの表示はあります。
サスペンドするプログラムを試用したところ、問題なくサスペンドすることを確認しました。
今まで試していなかったのですが、オプションを/klsuspendひとつを指定しているとダメなのです。
オプションを増やすとサスペンドすることを確認しました。

kazuaki さんのコメント...

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

オプション増やすというのは /klsuspendの他に /klforce等を追加したという事でしょうか。

こちらの環境では/klsuspendだけでも動作しているようなのですが、もう少し確認してみますね。

tmiya さんのコメント...

Use10Key, RfLedRestrictor共に便利に使わせてもらっています。先日最新版を両方とも導入し使用しています。RfLedRestrictorで /traffic 指定のみ、
(最新版では通話中もLED点灯するみたいですね)
Use10Keyでは /klsuspend 指定で使用しています。
キーロックでサスペンド中に着信し、通話終了後の終話キーを押して再サスペンド時に、LEDが点灯したままサスペンド状態に移行してしまいます。
連携して使用した場合の確認をしていただけないでしょうか?
もしくは、RfLedRestrictorの通話中のLED点灯は別オプションにしていただくとかは可能だったりするでしょうか?
よろしくお願いします。

kazuaki さんのコメント...

tmiyaさん こんばんは。

ご指摘の通りRfLedRestrictorとUse10Keyのサスペンド機能と併用すると通話終了時にLEDが点灯したままになってしまいます。

Use10Key側では電話着信用に特別な処理をしている訳ではないので、もう少し待機してあげるといった事ができません。
かと言って RfLedRestrictor側から見ても何もできないうちにサスペンドに戻るので、どちらで対応したものか悩ましいところです。

RfLedRestrictor通話中LEDのオプションが無いのは、無意識のうちに手を抜いてしまったのでしょうね(笑
この問題とは別にオプションは追加するようにします。