收录日期:2019/01/17 21:32:26 时间:2016/05/24 10:41:41 标签:进程/线程/DLL
我想用skinmagin作一个改变win2k界面及notepad界面,想用hook api 的方法
请高手给个方法或给一个hook api工程示例 不胜感激
google~
下面给出了一段有关MOUSE HOOK的代码示例:
MOUSE HOOK DLL
CMouseHookDllApp theApp;

BOOL installhook()
{
    hhkMouse=SetWindowsHookEx(WH_MOUSE,(HOOKPROC)MouseProc,hins,0);
    return TRUE;
}

LRESULT CALLBACK MouseProc(
  int nCode,      // hook code
  WPARAM wParam,  // message identifier
  LPARAM lParam   // mouse coordinates
)
{
//[in] Specifies the identifier of the mouse message. 
//This parameter can be one of the following messages: 
//WM_LBUTTONDOWN, WM_LBUTTONUP, WM_MOUSEMOVE, WM_MOUSEWHEEL, 
//WM_RBUTTONDOWN, or WM_RBUTTONUP

int cx;
int cy;
MOUSEHOOKSTRUCT *ms;

if( nCode == HC_ACTION || nCode == HC_NOREMOVE ) {

TRACE("message:%x\n",(UINT)wParam);
switch ( (UINT)wParam ) {
case WM_MOUSEMOVE:
ms = (MOUSEHOOKSTRUCT*)lParam;
TRACE("point:%d,%d\n",ms->pt.x,ms->pt.y );

case WM_LBUTTONDOWN:
TRACE("WM_LBUTTONDOWN");
return 1;
case WM_LBUTTONUP:
TRACE("WM_LBUTTONUP");
return 1;
default:
return CallNextHookEx(hhkMouse,nCode,wParam,lParam);
}
}
return CallNextHookEx(hhkMouse,nCode,wParam,lParam);
}

应用程序:
在INIT INSTANCE函数内追加
//读取DLL

inshook instkbhook;
if(hinstDLL=LoadLibrary((LPCTSTR)"MouseHookDll.dll"))
{
instkbhook=(inshook)GetProcAddress(hinstDLL,"installhook");  
instkbhook();
}
else
{
MessageBox("当前目录找不到Hook.dll文件,程序初始化失败");
return FALSE;
//    OnOK();
}
inshook mouseProc;
mouseProc=(inshook)GetProcAddress(hinstDLL,"MouseProc");
hhkMouse = SetWindowsHookEx(WH_MOUSE,(HOOKPROC)mouseProc,hins,0);
我说的是hook api函数啊,而不是hook消息,mouse,keyboard等,请指点
在MSDN上查SetWindowsHookEx,不就可以看到相关的HOOK的API了吗.

怎样认识笔记本性能的优劣? 请问,如何在visual c++2005中创建一个c文档呢? 这个东西怎么实现?? asp.net有没有像线程一样的东西? asp.net页面执行一个方法时 要等方法执行完毕页面才刷出来,请问下有没有页面立即刷新 而方法则在后台自己慢慢执行呢? 请问下EXCEL导入SQL2000时,SQL语句中工作表标签名(sheet)的名称问题 这里没有有关单片机的论坛吗? 怎么样用js或者jquery实现动态表格中 对于自身位置的识别? 【莫默营养】生活创意 敢问高手 老公马上要去封闭式开发半年,有谁参与过封闭式开发吗? 为什么在英文系统里,ff的中文菜单显示没有问题,有些软件的中文界面就有问题 如何删除CRL中的一项 使用dwr遇到的对象封装问题 关于Vba的add in怎么做 -----------------------------求各位给起个名字,宝宝四月份出生。 mshflexgrid删除列 请教大虾 读取固定格式文本文件到二维数组 树控件 复选框 java局部变量修饰符问题. 触摸板中数据稳定及平滑算法?有点难,谢谢/// 为什么stat()的第二个参数一定要是引用呢?是怎么实现这种控制的? 求助塞班手机接入点总跳出提示框问题 ************xml解析问题 (回复无问题,马上结贴)************** 为什么我用谷歌浏览器提示水源在升级、而IE却没有 求助 c#画直方和正态分布图 关于内存使用率和虚拟内存 inno setup 创建web打包时生成的站点跟默认网站平级 【To All of the csdners】时光如梭,岁月无情,是否往昔在乎的一直都不曾拥有,是否曾经推崇的信仰已不在留恋,是否记忆中过往的流年早已烟消云散 看看我的spring配置是不是有问题,事务不起作用,在线等 在网上淘的用popup做的菜单栏,怎么总是报错,不能白原因,请高手赐教!!