|
|
|
| Не понимаю уже в чем дело. Есть софтинка, мне надо узнать когда она получает определенное сообщение. Ставлю хук. Он вроде как ставиться, но не работает :(
Вот листинг dll d которой я это делаю:
#include "stdafx.h";
#pragma data_seg("chiper")
HINSTANCE g_hInstance=NULL;
HHOOK g_hHook=NULL;
#pragma data_seg()
#pragma comment(linker,"/section:chiper,rws")
LRESULT CALLBACK myhook(int nCode, WPARAM wParam, LPARAM lParam);
BOOL WINAPI DllMain(HINSTANCE hInstanceDLL,DWORD fdwReason,LPVOID lpvReserved)
{
g_hInstance=hInstanceDLL;
return TRUE;
}
//экспортировать Фильтрующую функцию
LRESULT CALLBACK myhook(int nCode, WPARAM wParam, LPARAM lParam)
{
// MessageBox(0,"est","est",0);
if (nCode==WM_USER+31748)
MessageBox(0,"est","est",0);
if (nCode < 0) //если nCode, не продолжать обработку
return CallNextHookEx(NULL,nCode,wParam,lParam);
//nCode=nCode;
return TRUE; //заблокировать дальнейшую обработку клавиши
}
extern "C"__declspec (dllexport) BOOL EnableHook(BOOL fEnable, HWND hWnd)
{
if (hWnd!=0)
{
DWORD pid=GetWindowThreadProcessId(hWnd,0);
if(fEnable)
return ((g_hHook=::SetWindowsHookEx(WH_GETMESSAGE,myhook,g_hInstance,pid))!=NULL);
else
return UnhookWindowsHookEx(g_hHook);
}
else
{
return FALSE;
}
|
| |
|
|
|
|
|
|
|
для: Chiper
(23.09.2010 в 17:05)
| | В сях я полный ноль, а с DLL-ами вообще не работал. Но могу вам дать совет - на этом форуме вряд-ли найдете ответ. Следует обратится к более серьезным ресурсам. Еще чувствую аверами детектится будет эта прога - а это не есть гуд! Еще вопросик - с помощью чего компилиш(у меня в DevCpp не захотел компилиться)? | |
|
|
|