私はWH_CBT
フックを設定しようとしており、常に0を返します。 私はエラーをチェックし、エラー1428が発生しました。ちょっと調べてnull
の代わりに何を入れるべきか分かりませんが、hMod
パラメータに問題があることが分かりました。誰かが私が間違っていることを知っていますか?なぜSetWindowsHookExは0を返しますか?
これは私のコードです:
#include "stdafx.h"
#include "Windows.h"
#include <iostream>
using namespace std;
HHOOK hookHandle;
LRESULT CALLBACK CBTProc(int nCode, WPARAM wParam, LPARAM lParam);
int _tmain(int argc, _TCHAR* argv[])
{
hookHandle = SetWindowsHookEx(WH_CBT,CBTProc,NULL,0);
if(hookHandle == NULL)
{
cout << "ERROR CREATING HOOK: ";
cout << GetLastError() << endl;
getchar();
return 0;
}
MSG message;
while(GetMessage(&message, NULL, 0, 0) != 0)
{
TranslateMessage(&message);
DispatchMessage(&message);
}
cout << "Press any key to quit...";
getchar();
UnhookWindowsHookEx(hookHandle);
return 0;
}
LRESULT CALLBACK CBTProc(int nCode,WPARAM wParam, LPARAM lParam)
{
cout << "hello" << endl;
return CallNextHookEx(hookHandle, nCode,
wParam, lParam);
}
P.S.コードに愚かな要素がある場合、私はお詫び申し上げます。私はプログラミングの初心者ではなく、C++だけです。
どのようにですか?あなたは私に例を挙げてくれますか? – Oran
私の答えにサンプルを追加 –
私は同じエラーを受け取ります... – Oran