Вот мой код

// hook.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include <windows.h>
#include <iostream>

using namespace std;

LRESULT CALLBACK GetMsgProc(int code, WPARAM wParam, LPARAM lParam);

int _tmain(int argc, _TCHAR* argv[]){
int __;
cout << "Hallo World" << endl;
SetWindowsHookEx(WH_GETMESSAGE, GetMsgProc, 0, 0);
cin >> __;
return 0;
}

LRESULT CALLBACK GetMsgProc(int code, WPARAM wParam, LPARAM lParam){
cout << code << endl;
return 0;
}

Я пытаюсь получить событие WM_PAINT... в данный момент я пытаюсь перехватить все события. Где я отсутствует?

1
Neel Basu 25 Мар 2011 в 15:42

1 ответ

Прочтите документацию, пожалуйста. В нем четко указано, почему ваше использование неверно, особенно в отношении последних двух параметров. Если вы хотите подключить каждый поток, вам нужно предоставить модуль http://msdn.microsoft.com/en- us/library/ms644990(v=vs.85).aspx

-1
Logan Capaldo 25 Мар 2011 в 15:52
Извините, можно немного подробнее? Я прочитал ссылку, в которой говорится If this parameter is zero, the hook procedure is associated with all existing threads running in the same desktop as the calling thread. относительно последнего параметра.
 – 
Neel Basu
25 Мар 2011 в 18:50
Прочтите документацию и для других параметров. «Указатель на процедуру ловушки. Если параметр dwThreadId равен нулю или указывает идентификатор потока, созданного другим процессом, параметр lpfn должен указывать на процедуру ловушки в библиотеке DLL. В противном случае lpfn может указывать на процедуру ловушки в код, связанный с текущим процессом. " "Ошибка может возникнуть, если параметр hMod имеет значение NULL, а параметр dwThreadId равен нулю или указывает идентификатор потока, созданного другим процессом. "
 – 
Logan Capaldo
25 Мар 2011 в 18:52
Мой lpfn находится в текущем процессе. Но мой dwThreadId должен быть 0, надеюсь?? это сценарий?? Я довольно запутался здесь. на эту простую (наверное) вещь. и я очень n00b к VC++. Пожалуйста, я не могу понять, что мне делать.
 – 
Neel Basu
25 Мар 2011 в 19:06