Win32API 質問箱 Build3
■ このスレッドは過去ログ倉庫に格納されています
0774デフォルトの名無しさん
NGNG対する操作をログに記録しようとしています。
例えばログイン画面があって、そこでログインボタンを押したときに、
ボタンを押した時間と、利用者が EDIT コントロールに入力した
ログイン ID を記録したいのです。
で、そのアプリとは別の監視アプリを VC++6 で作って、dll に
SetWindowsHookEx(WH_GETMESSAGE,(HOOKPROC)MyHookProc,hInst,NULL) として、
MyHookProc は
EXPORT LRESULT CALLBACK MyHookProc(int nCode, WPARAM wp, LPARAM lp){
MSG *lpMsg;
lpMsg = (MSG *)lp;
if (nCode < 0) return CallNextHookEx(hHook, nCode, wp, lp);
if ( lpMsg->message == WM_COMMAND ){
としました。この中でログを取ろうとしています。
しかし、ボタンを押したときに出る WM_COMMAND が届きません。ボタンのすぐ上に
ある (=ボタンと兄弟ウィンドウの) EDIT コントロールに何か書くとログに
残るので、大枠のところは間違っていないと思っています。また、Spy++ で見ると、
確かにボタンを押すと親ウィンドウに WM_COMMAND が飛んでいます。
どうやればボタンからの WM_COMMAND を取得できるのでしょうか? 取得できない
原因としては、メッセージを投げる方法には PostMessage とか SendMessage とか
いろいろあるようなので、EDIT とボタンのメッセージの投げ方が違うのかなぁと
思っているのですが (そのアプリは VB で作ってあります)。
あるいは WM_COMMAND を取得する以外の方法はありますでしょうか?
■ このスレッドは過去ログ倉庫に格納されています