2019年07月07日

RegisterHotkey()のエラー時の対処を入れないとなぁ

先日、RegisterHotkey()の大昔の仕様変更に緊急対応したわけなのですが、当たり前なことにRegisterHotkey()はエラーの場合には、きちんとエラーであることを示す戻り値を返すようになっています。

例えば、他のアプリケーションで、すでに当該ホットキーが使われている場合など。

しかし残念ながら、現時点では、「マウスのお供」「NumLockLock」「コピペテキスト修飾除去」では、エラーがあっても無視して次処理へ突き進むようになっています。
うーむ、今後、何かしらの対処はしたいところ。ワーニングメッセージを出すとか。

とはいえ、例えば「マウスのお供」がスタートアップで起動する設定になっていたとして、複数のHotkey登録エラーが起きた場合、OS起動と共に常駐開始するシチュエーションで、エラーメッセージを連発表示するのも、なんだかとってもウザそうな気がする。

たぶん、後からまとめて報告するような仕様になっているのがよさそう。

同じように、設定ダイアログからのホットキー割り当てでエラーが起きた場合、中途半端に処理を止めてしまうと、おかしなことになる。
ホットキーの設定処理は、設定ダイアログに並んでいる順番に、

1. 設定ダイアログを開くホットキー
2. メモ編集を開くホットキー
3. 時計等の表示ON/OFFの切替のホットキー
4. 時計等の表示ONのホットキー
  :
  :
7. クリップボード文字列から就職を除去するホットキー
8. 残時間表示のON/OFFの切替のホットキー


の順で設定されるわけだけど、3番目でエラーが起きる場合、2まではホットキー登録されるけど、4以降はホットキー登録されないという中途半端になる。かといって、ロールバック処理を構築するのも面倒くさい。

どうするのがスマートかは、ちょっとゆっくり考えることにしたいところ。

続きを読む
posted by ayacy at 00:00 | Comment(0) | TrackBack(0) | フリーソフト