Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   Проблема с хуком мыши (https://forum.antichat.xyz/showthread.php?t=170236)

-CEREBRUM- 12.01.2010 15:37

Проблема с хуком мыши
 
Ребята, помогите хуки осилить!
Задача - приложение висит в фоновом режиме и чего-то делает при нажатии мышиних кнопок (например, выводит сообщение.) порылся в сети, почитал, слепил такой вот код:
Код:

#include <windows.h>
#pragma hdrstop
#pragma argsused
HHOOK HookHandle; 
 //-----------вывод ошибки----------------------------- 
void ErrorMessage(void)
{LPVOID lpMsgBuf;   
 FormatMessage //формат сообщения об ошибке
(FORMAT_MESSAGE_ALLOCATE_BUFFER |
 FORMAT_MESSAGE_FROM_SYSTEM |
 FORMAT_MESSAGE_IGNORE_INSERTS,                 
 NULL,         
 GetLastError(),
 0,
 (LPTSTR)&lpMsgBuf,
 0,
 NULL);
 MessageBox(NULL, (LPCTSTR)lpMsgBuf, TEXT("Error"), MB_OK | MB_ICONERROR);   
LocalFree(lpMsgBuf);
}   
//------процедура фильтр хука------------------------------ 

LRESULT CALLBACK FilterFunc(int Code, WORD WParam, long LParam) 
{if (Code == HC_ACTION)               
    {switch (WParam)                     
        {case WM_LBUTTONDOWN : MessageBox(0,"Нажата левая клавиша","Сообщение", MB_OK); break;                     
          case WM_RBUTTONDOWN : MessageBox(0,"Нажата правая клавиша","Сообщение", MB_OK); break;};
      };   
return CallNextHookEx(0, Code, WParam, LParam);   


//---------------------------------------------------------------------------

WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{HookHandle = SetWindowsHookEx(WH_JOURNALRECORD, reinterpret_cast<HOOKPROC>(FilterFunc), hInstance, NULL); //Ставим хук
if (HookHandle == NULL) ErrorMessage(); //Если ошибка - выводим сообщение
return 0;
}

Вычитал, что если использовать WH_JOURNALRECORD - то dll создавать не надо.
В итоге ошибок не выдает, но и рабтать - не работает! Подскажите, в чем ошибся?

sn0w 12.01.2010 18:52

и волки сыты и овцы целы и пастуху вечная память))


Время: 05:16