当前位置:首页 » 软件开发
开发技术指南» 文章正文
    引言: 信息产业部电子第二十二研究所 郎锐 一、引言 钩子的本质是一段用以处理系统消息的程序,通过系统调用,把它挂入系统。
 

 

 ·浅议软件封面的制作方法    »显示摘要«
    摘要:曹朝晖 问题的提出 软件封面是指软件启动加载时显示的背景画面,它不但可以起到吸引用户目光的作用,更重要的是当一些程序的初始化工作需要数秒钟时,软件封面可以用来向用户提供一些与该软件相关的信息。软件封面一般包含了软件名称、版本、用户名、用户所在的公司名等信息,显示方式一般分为静态画面和动画。软件封面的制作方法有多种,从易到难,由浅到深,编程人员可以根据需要选择不同的制作方法。本文介绍3种软件封......
 ·任务条状态区的应用    »显示摘要«
    摘要:windows95的任务条(taskbar)上有一个状态区,可以显示当前输入法(中文版)、当前时间等信息,当启动打印管理器时还可显示打印管理器的图标,表明打印机正在工作。我们可以使用这一技术为正在后台工作的程序设置一个图标,以显示它的工作状态,用户可以通过鼠标点击来查询详细情况或修改工作参数。下面对其实现方法作一介绍。 图标的添加和删除 实现这两个操作都是通过调用shell_notifyi......


在VC++ 6.0下应用Win32系统钩子技术
信息产业部电子第二十二研究所 郎锐

一.引言 【程序编程相关:vc6.0利用API实现串口通讯

【推荐阅读:在VC中编译、运行程序的小知识点

二.win32系统钩子的实现 【扩展信息:[原创]命令行下可以解读TCP数据报内容

钩子的本质是一段用以处理系统消息的程序,通过系统调用,把它挂入系统.钩子的种类很多,每种钩子可以截获并处理相应的消息,每当特定的消息发出,在到达目的窗口之前,钩子程序先行截获该消息.得到对此消息的控制权.此时钩子函数可以对截获的消息进行加工处理,甚至可以强制结束消息的传递.这有点类似与mfc中的pretranslatemessage函数,所不同的是该函数只能用于拦截本进程中的消息,而对系统消息则无能为力.

每种类型的钩子均由系统来维护一个钩子链,最近安装的钩子位于链的开始,拥有最高的优先级,而最先安装的钩子则处在链的末尾.要实现win32的系统钩子,首先要调用sdk中的api函数setwindowshookex来安装这个钩子函数,其原型是:

hhook setwindowshookex(int idhook,

hookproc lpfn,

hinstance hmod,

dword dwthreadid);

其中,第一个参数是钩子的类型,常用的有wh_mouse.wh_keyboard.wh_getmessage等;第二个参数是钩子函数的地址,当钩子钩到任何消息后便调用这个函数;第三个参数是钩子函数所在模块的句柄;第四个参数是钩子相关函数的id用以指定想让钩子去钩哪个线程,为0时则拦截整个系统的消息此时为全局钩子.如果指定确定的线程,即为线程专用钩子.

全局钩子函数必须包含在dll(动态链接库)中,而线程专用钩子则可包含在可执行文件中.得到控制权的钩子函数在处理完消息后,可以调用另外一个sdk中的api函数callnexthookex来继续传递该消息.也可以通过直接返回true来丢弃该消息,阻止该消息的传递.

使用全局钩子函数时需要以dll为载体,vc6中有三种形式的mfc dll可供选择,即regular statically linked to mfc dll(标准静态链接mfc dll).regular using the shared mfc dll(标准动态链接mfc dll)以及extension mfc dll(扩展mfc dll).第一种dll在编译时把使用的mfc代码链接到dll中,执行程序时不需要其他mfc动态链接类库的支持,但体积较大;第二种dll在运行时动态链接到mfc类库,因而体积较小,但却依赖于mfc动态链接类库的支持;这两种dll均可被mfc程序与win32程序使用.第三种dll的也是动态连接,但做为mfc类库的扩展,只能被mfc程序使用.

三.win32 dll

win32 dll的入口与出口函数都是dllmain这同win16 dll是有区别的.
...   下一页
    摘要:这篇文章讲述了如何使用mfc将excel工作表插入到sdi视图中。文章包括插入工作表并将文字添加到a1单元格的详细步骤,每一步都有详细说明。 虽然你可以直接将代码插入到你的程序中,但理解这些例子你才会真正受益。 更多信息 以下是创建这个mfc应用程序的步骤: 1.使用appwizard创建一个新的mfc appwizard(exe)工程,命名为"embed_excel&q......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE