CallNextHookEx( ) == FALSE
1つのアプリの中で、メインプロージャとフックプロージャを作りました。
フックはキーボードフックです。
HHOOK hHook;
LRESULT CALLBACK MyHookProc(int nCode, WPARAM wParam, LPARAM lParam){
if(nCode < 0)return CallNextHookEx(hHook, nCode, wParam, lParam);
if(wParam == 0x31)return FALSE;
return TRUE;
}
フックしていても 「ぬ」 のキーは使えるようにしました。
if(wParam == 0x31)return FALSE;
は
if(wParam == 0x31)return CallNextHookEx(hHook, nCode, wParam, lParam);
にしても違いが分かりませんでした。
return FALSE では、メッセージをキューから削除らしいけど、メインの
プロージャで
LRESULT CALLBACK WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam){
switch(msg){
case WM_KEYDOWN:
if(wParam == 0x31)MessageBox(hWnd, "メインプロージャから", "", MB_OK);
break;
にしても、フックプロージヤの戻り値は CallNextHookEx( ) でも FALSE
でも MessageBox() は表示されました。
CallNextHookEx( ) にした場合と FALSE にした場合、何が違うのか、
どういうソースなら違いを確かめられるのか教えてください。
補足
mshr1962さん 回答ありがとうございます。 明日 確認してみます。今日はありがとうございます。