Re: HOOK & DLL & EXE
От: SergH Россия  
Дата: 08.05.02 15:13
Оценка:
Здравствуйте Sarkisov Sergei, Вы писали:

SS>Господа, проясните пожалуйста ситуацию по поводу локальных и глобальных хуков. В литературе и в форумах пишут о том, что поставить глоб. хук можно только из DLL. Но приведённый ниже код ставит хук на клавиатуру и Beep-ает везде — это разве не глобальный хук ? (про NextWindowHook я знаю и про обмен между процессами с пом. файлмаппинга тоже)

SS>Саму теорию я под сомнение не ставлю, просто хотелось бы понять в чём разница между указанным хуком и хуком из DLL.

SS>LRESULT CALLBACK KeyboardProc(int nCode, WPARAM wParam, LPARAM lParam) {

SS> Beep(20,20);
SS> return 0;
SS>}

SS>int APIENTRY WinMain(HINSTANCE hInstance,

SS> HINSTANCE hPrevInstance,
SS> LPSTR lpCmdLine,
SS> int nCmdShow)
SS>{
SS> MSG msg;
SS> SetWindowsHookEx(WH_KEYBOARD,KeyboardProc,NULL,NULL);
SS> while (GetMessage(&msg,0,0,0)) {
SS> }
SS> return 0;
SS>}

А у меня не Beep-ает. Под Win XP Pro. Единственное изменение — добавил строчку #include <windows.h>. Или в этом и был секрет ?
Делай что должно, и будь что будет
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.