http://good.gd/348868.htm
Õâ¸öÊÇÔ´ÂëÁË£¡¸ßÊÖ°ïæһÏ£¬Ð»Ð»
?
??
Â¥Ö÷Äܲ»ÄܰѴúÂëÌù³öÀ´£¿
¸Ð¾õÊÇÔÚË¢¹ã¸æ
// RegisterHookDlg.cpp : ʵÏÖÎļþ
//
#include "stdafx.h"
#include "RegisterHook.h"
#include "RegisterHookDlg.h"
#include ".\registerhookdlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
typedef DWORD (CALLBACK * USERAPIHOOKPROC)(HINSTANCE hInstance, FARPROC *fnUserApis);
typedef DWORD (WINAPI * SYS_RegisterUserApiHookXP)(HINSTANCE hInstance, USERAPIHOOKPROC fnUserApiHook);
typedef BOOL (WINAPI * SYS_UnregisterUserApiHook)(VOID);
SYS_RegisterUserApiHookXP RegisterUserApiHookXP = NULL;
SYS_UnregisterUserApiHook UnregisterUserApiHook = NULL;
HMODULE g_hModule = NULL;
DWORD InHook()
{
DWORD rt = 0;
USERAPIHOOKPROC UserApiProc = NULL;
(FARPROC&)RegisterUserApiHookXP = GetProcAddress(LoadLibrary("user32"), "RegisterUserApiHook");
(FARPROC&)UserApiProc = GetProcAddress(g_hModule, "UserApiProc");
if ( RegisterUserApiHookXP != NULL && UserApiProc != NULL )
rt = RegisterUserApiHookXP(g_hModule, UserApiProc);
return rt;
}
BOOL UnHook()
{
BOOL rt = FALSE;
ÎÒÔÚ³ö¿â´°¿ÚдÁ˸ö·½·¨£ºADOQueryBill µÄbNum ×ֶεÄOnValidate·½·¨ ʵÏÖµÄÊdzö¿âÊýÁ¿²»ÄÜ´óÓÚÈë¿âµÄÊýÁ¿£¬·ñÔò¾ÍÖØÐÂÊäÈëÊýÁ¿£¬ÒÔÏÂÊÇÎҵĴúÂ룺
procedure TFrmStockOut.ADOQueryBillbNum_Validate(Sender: TFie ......
ÒªÇóÄÜʵÏÖ¶þÈËÔŲ́ͬµçÄÔÉ϶ÔÕ½µÄ ²»ÓÃÌ«»¨ÉÚ ×îºÃ»¹¼ÓÉÏÈË»ú¶ÔÕ½µÄ ¼±Ðè ˰ïÏÂæ°¡Ñ½!!!!!!!!
up
baidu£¬google
up
http://www.codepub.com/software/view-software-4061.html
ÍøÕ¾ÉÏÓÐ
......