C. Windows 전역 갈고리 실현

1443 단어 C
[b] KbHook. dll 소스 코드 [/ b]

#include
#include

HHOOK g_hkeyboard=NULL;
FILE *fp=NULL;

//
LRESULT CALLBACK KeyboardProc(int code, WPARAM wParam, LPARAM lParam) {
//
fwrite(&wParam, sizeof(char), 1, fp);
fflush(fp);
//
return CallNextHookEx(g_hkeyboard, code, wParam, lParam);
}

//
_declspec(dllexport) void SetKeyboardHook() {
//
if((fp = fopen("E:\\KbHook.txt", "a")) == NULL) {
return;
}
//
g_hkeyboard = SetWindowsHookEx(WH_KEYBOARD,KeyboardProc,GetModuleHandle("KbHook"),0);
}

//
_declspec(dllexport) void CloseFile() {
if(fp == NULL) {
return;
}
char *str = "\r
\r
";
fwrite(str, sizeof(char), strlen(str), fp);
fclose(fp);
}

KbHook. lib, KbHook. dll 을 호출 할 프로젝트 에 복사 하고 호출 프로젝트 의 '프로젝트 -- > 설정 -- > 링크 -- > 대상 / 라 이브 러 리 모듈' 에 KbHook. lib 를 추가 합 니 다.
그리고 호출 프로그램 에서 호출 된 함수 에 대한 설명 을 먼저 진행 합 니 다.

//
_declspec(dllimport) void SetKeyboardHook();
_declspec(dllimport) void CloseFile();

그리고 일반 함수 처럼 호출 하면 됩 니 다.

//
SetKeyboardHook();
CloseFile();

주: 개발 환경 은 Visual Studio 6.0 입 니 다.

좋은 웹페이지 즐겨찾기