基于上篇,此文将讲述如何捕获自己发送出去的消息:
qq从本机发出消息无非就是两种方式.(1)按发送按钮,(2)按ctrl+enter组合键.当然自定义键除外.也不在本文考虑范围之内: 【相关文章:制造业中流程卡的生成】
// hottey 于2004-6-2号 【扩展阅读:XML文件的显示——CSS和XSL】
//监控ctrl+enter组合键 【扩展信息:Flash的历史及其发展方向】
基于这两种发送的方式我选用:wh_callwndproc 与 wh_keyboard两种钩子.sorry,今天心情太烂(学校里的一些琐事,郁闷).实在无心继续.只能贴上源码了.大家有兴趣自己看看...有什么问题可以与我联系.delphi21@163.com
function keyboardproc(icode: integer; wparam: wparam; lparam: lparam): lresult; stdcall;
begin if (wparam = vk_return) and (getkeystate(vk_control) < 0) and (lparam >= 0) then begin sendmessage(shared^.mainwnd,wm_usercmd, uc_windestroy, getforegroundwindow); end; result := callnexthookex(shared^.keyhook,icode,wparam,lparam); end;//监控"发送"按钮
function callwndproc(icode: integer; wparam: wparam; lparam: lparam): lresult; stdcall; type msg = ^cwpstruct; var p : msg; begin p := msg(lparam); //只对前台窗口进行处理 if (p^.message = wm_command) and (loword(p^.wparam) = 1) then begin sendmessage(shared^.mainwnd,wm_usercmd, uc_windestroy, getforegroundwindow); ... 下一页