ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
 
 
Опции темы Поиск в этой теме Опции просмотра

Проблема с хуком мыши
  #1  
Старый 12.01.2010, 15:37
-CEREBRUM-
Новичок
Регистрация: 20.11.2009
Сообщений: 11
Провел на форуме:
88419

Репутация: 0
Отправить сообщение для -CEREBRUM- с помощью ICQ
По умолчанию Проблема с хуком мыши

Ребята, помогите хуки осилить!
Задача - приложение висит в фоновом режиме и чего-то делает при нажатии мышиних кнопок (например, выводит сообщение.) порылся в сети, почитал, слепил такой вот код:
Код:
#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 создавать не надо.
В итоге ошибок не выдает, но и рабтать - не работает! Подскажите, в чем ошибся?
 
Ответить с цитированием
 



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
МУЗЕЙ раздела ЖЕЛЕЗО NetSter Аппаратное обеспечение 65 06.06.2010 11:24
Отсканирован мозг мыши, играющей в Quake Zabralo Мировые новости 28 07.11.2009 23:02
Проблема с дедиками [help!] Sniper482 Безопасность 4 14.09.2009 21:22
Проблема с установкой мыши Logitech.... boooch Аппаратное обеспечение 6 09.09.2009 20:57
Две геймерские мыши Xai и Kinzu и коврик 9HD от SteelSeries – играй с удовольствием Eff0rd Новости мира "железа" 0 26.07.2009 14:10



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ