• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:なぜhButton1ボタンからのWM_COMMANDはフックできてクライアントエリアのWM_RBUTTONDOWNはフックできないのでしょうか?)

なぜhButton1ボタンからのWM_COMMANDはフックできてクライアントエリアのWM_RBUTTONDOWNはフックできないのでしょうか?

このQ&Aのポイント
  • # hButton1ボタンからのWM_COMMANDのフックについて
  • # クライアントエリアのWM_RBUTTONDOWNのフックについて
  • # フックできない理由

質問者が選んだベストアンサー

  • ベストアンサー
  • xcrOSgS2wY
  • ベストアンサー率50% (1006/1985)
回答No.1

WH_CALLWNDPROCRETはSendMessageで送られたメッセージのみを対象とし、WM_xBUTTONDOWNはPostMessageで送られるからです。WH_GETMESSAGEならばWM_xBUTTONDOWNをフックすることができます。

ggaogg
質問者

お礼

そういうことだったんですか。 WH_CALLWNDPROCRETは、普通にどんなメッセージでもフックできるものだと思っていました。 だからWM_xBUTTONDOWNも当然サポートしているものだと・・。 CallWndRetProcのnCodeの値がHC_ACTIONかそうでないかに関係なくWM_xBUTTONDOWNを処理しようとすると、できてしまったので、ただ単に、フックプロシージャの働きの違いは、nCodeがメッセージを対象とするか否かの違いでしかないようですね。 (と、いまのところ思っている) 答えてもらえないんじゃないかと思っていましたが、お答えいただきありがとうございます。