メッセージフックについて – プログラミング – Home

メッセージフックについて
 
通知
すべてクリア

[解決済] メッセージフックについて


Ton
 Ton
(@Ton)
ゲスト
結合: 18年前
投稿: 6
Topic starter  

Windows Vistaで、タスクトレーの時計を左クリックしたときに
自分の作ったアナログ時計を表示しようとしています。

以下のように行いましたが、マウスのイベントがキャプチャできません。

1.時計(TrayClockWClass)のウィンドウハンドル hwnd を取得

2.id = GetWindowThreadProcessId(hwnd);
 SetWindowsHookEx(WH_CALLWNDPROC, callback, g_hIns, id);
 を行い、
 このウィンドウに対してフックして、適当なメッセージをポストしたタイミングで
 callback関数内でhwndをサブクラス化します。

3.2でサブクラス化したプロシジャにWM_LBUTTONDOWNが来ると思ったのですが、
 WM_NCHITTESTは来ますが、WM_LBUTTONDOWNが来ません。
 callback にも来ていません。

SPY++というツールで調べてみましたが、やはりWM_NCHITTESTしか来ていません。
ウィンドウの上でマウスを動かしたりすると、そのウィンドウの
プロシジャでWM_MOUSEMOVEなどを取得できると思ったのですが、
何か他にすることがあるのでしょうか?

また、TClockを起動しているとWM_MOUSEMOVEが来ます。


引用未解決
トピックタグ
Ton
 Ton
(@Ton)
ゲスト
結合: 18年前
投稿: 6
Topic starter  

マウスもグローバルフックすることで解決させました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました