掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
WM_APPCOMMANDをグローバルフックしてブロックするには? (ID:22161)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
SetHandleToHookDLL() で 呼び出し側のハンドルをDestWndHandleに代入してして、そのハンドルの先に PostMessage()でメッセージをしたいのですよね?? SetWindowHookEx()でグローバルフックを行う際には DestWndHandle のように事前に呼び出し側のハンドルを保持していてもフックプロシージャで利用できません。 ( たしか SetWindowHookEx()はOSにしかける関数なのですべてのメッセージを拾い処理していきますのでウィンドウハンドルを区別できないような感じだったと思います。) こういうときは DestWndHandleの値を 共有メモリで保持しておくときちんと取得することができますよ。呼び出し側で アプリのハンドルを取得して 共有メモリに保持する。 DLL側でその値を読み込んで指定したウィンドウハンドルにメッセージを送るという風にすれば問題ないはず・・・現状だと呼び出し側のアプリ上ではフック(ローカル)できているのではないでしょうか??
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.