HardKeyIM for BenQ P50専用スレ RSSフィード
 

ツリー全部最新の50件前後を読む

12KOTETUKOTETU   11  RC3

理由がわかりました。

GSPocketMagicでXボタンを押した時、以下のような動作をします

keybd_event(VK_CONTROL, 0, KEYEVENTF_SILENT, 1);

keybd_event(_T('Q'), 0, KEYEVENTF_SILENT, 1);

keybd_event(_T('Q'), 0, KEYEVENTF_KEYUP | KEYEVENTF_SILENT, 1);

keybd_event(VK_CONTROL, 0, KEYEVENTF_KEYUP | KEYEVENTF_SILENT, 1);

PostMessage(hWnd, WM_CLOSE, 0, 0);

上の4行が「CTRL+Q」の動作、下の1行が「WM_CLOSE」を送る動作です。それを同時に行っているようです。

普通はアプリにメッセージの届く順番が、「CTRL+Q → WM_CLOSE」なんですが、キーフックを行うことにより、「WM_CLOSE → CTRL+Q」と逆転してしまいます。

「WM_CLOSE」はウインド ハンドル宛てに送っているので、もし「CTRL+Q」で該当のアプリが閉じていたら何もおこりません。しかし、「CTRL+Q」が後ろに回ってしまうと、前のアプリが「WM_CLOSE」で閉じたあとの最前面のアプリに「CTRL+Q」が届いてしまいます。

ちょっと対処しようが無いので、「CTRL+Q」自体を止めるようにしてみました。WM_CLOSE で閉じないアプリも無いと思う(自分で試した限りでは、閉じないアプリは無かった)ので、特に問題は無いと思うのですが。

で、RC3として公開しましたので、もし閉じないアプリがあったら教えてください。

返信2005/07/09 19:33:08
  • 12RC3 KOTETUKOTETU 2005/07/09 19:33:08
    理由がわかりました。 GSPocketMagicでXボタンを押した時、以下のような動作をします keybd_event(VK_CONTROL, 0, KEYEVENTF_SILENT, 1); ...
    • 13Re:RC3 kzoukzou 2005/07/09 19:48:59
      ちょっと対処しようが無いので、「CTRL+Q」自体を止めるようにしてみました。WM_CLOSE で閉じないアプリも無いと思う(自分で試した限りでは、閉じないアプリは無かった)ので、特に問題は無い ...
      • 14Re:Re:RC3 KOTETUKOTETU 2005/07/09 19:52:49
        閉じないアプリってきっとCtrl+Qで終了する奴ですよね? あったら書き込みますね~! そうです。正確には、WM_CLOSEで閉じなくて、CTRL+Qで閉じるアプリですね。
        • 15Re:Re:Re:RC3 MeltingPDAMeltingPDA 2005/07/09 22:44:59
          遅ればせながら、KOTETUさん初めまして、本当に有難うございました! 本日半日使用させて頂きました。もう便利すぎて大変です(^_^) 一つだけ、気になったのが、APP5キーを2回押すと、スタート ...
          • 16RC4 KOTETUKOTETU 2005/07/10 03:46:56
            一つだけ、気になったのが、APP5キーを2回押すと、スタートメニューが立ち上がります 他のキーを押さないで何度かAPP5キーを押すとToday画面に戻ってしまいました。 1回押すと有効、2回 ...
            • 17Re:RC4 itokoichiitokoichi 2005/07/10 15:54:39
              上の修正 修正確認しました。お疲れさまです。
            • 18Re:RC4 MeltingPDAMeltingPDA 2005/07/10 18:41:00
              一つだけ、気になったのが、APP5キーを2回押すと、スタートメニューが立ち上がります 他のキーを押さないで何度かAPP5キーを押すとToday画面に戻ってしまいました。 1回押すと有効、2回 ...