madCHook.dll 声明的转化 请高手都进来看,不是一般的问题!
以下是函数在c的声明
#include <windows.h>
#include "madCHook.h"
UINT (WINAPI *WinExecNextHook)(LPCSTR lpCmdLine, UINT uCmdShow);//这句是声明指针变量WinExecNextHook
UINT WINAPI WinExecHookProc(LPCSTR lpCmdLine, UINT uCmdShow)//定义一个新的函数代替回调函数就是代替WinExecNextHook保存的地址处的函数
{
if (MessageBox(0, lpCmdLine, "Execute?", MB_YESNO | MB_ICONQUESTION) == IDYES)
return WinExecNextHook(lpCmdLine, uCmdShow);//如果是调用原来的回调函数
else
return ERROR_ACCESS_DENIED;//否返回拒绝访问
}
int WINAPI WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
InitializeMadCHook();//初始化钩子
//用新的回调函数代替原来的,并保存系统原来函数地址
HookAPI("kernel32.dll", "WinExec", WinExecHookProc, (PVOID*) &WinExecNextHook);
WinExec("notepad.exe", SW_SHOWNORMAL);//运行记事本,将会调用新的函数WinExecHookProc
UnhookAPI((PVOID*) &WinExecNextHook);//该回原来的设置
FinalizeMadCHook();//钩子释放处理
return true;//返回系统应该是return 0比较好吧??
}
#include "madCHook.h"
把madCHook.h代码贴上来
头文件太大了,贴不出来,不过与HOOKAPI相关的我找出来贴到下面了:
madCHookApi(BOOL) HookAPI(
LPCSTR pszModule,
LPCSTR pszFuncName,
PVOID pCallbackFunc,
PVOID *pNextHook,
#ifdef __cplusplus
DWORD dwFlags = 0
#else
DWORD dwFlags
#endif
);
以上代码在vb中应该如何声明,和调用呢,请会的高人帮忙转化一下,要带个调用例子的,代码调试成功报酬可商议~~谢谢了startbin#126.com