|
LRESULT CALLBACK KeyHookProc(int nCode, WPARAM wParam, LPARAM lParam)
{
if (nCode>=0) {
SendMessage(hWndBeeper,WM_USER+1,wParam,lParam);
}
return CallNextHookEx(hKeyHook,nCode,wParam,lParam);
}
void InstHook(HWND hWnd)
{
hWndBeeper=hWnd;
hKeyHook=SetWindowsHookEx(WH_KEYBOARD,(HOOKPROC)KeyHookProc,hModule,NULL);
}
void UninstHook()
{
UnhookWindowsHookEx(hKeyHook);
}
dll에 위와같이 프로스래밍되엇어요
컴파일되되었구요
이걸 사용하려는데 사용방법을모르겟네요
dll 로드해서 함수까진 읽엇거든요
함수만쓰면되는상황입니다
그런데 dll호출을 어느 위치에다가 dll을 로드해야되는지
함수는 어디에다가 실행시켜야하는지
void __fastcall TForm9::FormCreate(TObject *Sender)
{
dll = LoadLibrary("hoktest.dll");
if(dll == NULL) ShowMessage("NO read");
testDLL hookstart=(MY_FUNC_testDLL)GetProcAddress(dll,"InstHook");
hookstart(this->Handle);
}
위처럼 했더니폼이 사라저버리고 끌수도없고
어절수없이 강제종료시켜버렷음
후킹도 해제해줘야하는데 폼이사라저버리니 해제도 못하고;;난감한상황
핸들넣는곳에 this->Handle이거 해두되는건가요 아니면
파인드윈도우 함수로 아무핸들찾아서 넣어야할가요;;
다른윈도우에서 f9누르면 프로그램실행하고 f10누르면 끌수있도록 하려고하거든요
위에 함수 실행시키고 어디서 키값을 받아서 처리해야되는지를 모르겟네요
찾아보아도 젤위처럼 하는방법만나와있고 키 처리하는건 설명이안되어있고
우선 후킹 인스톨하는법부터 알려구요
|