鼠标钩子程设计报告

合集下载

关于鼠标的课程设计

关于鼠标的课程设计

关于鼠标的课程设计一、教学目标本课程旨在让学生了解鼠标的基本概念、结构和功能,掌握鼠标的基本操作技巧,并能够运用鼠标进行各种计算机操作。

具体目标如下:1.了解鼠标的发展历程和基本结构。

2.掌握鼠标的基本功能和操作原理。

3.了解鼠标在计算机操作中的应用。

4.能够熟练操作鼠标进行各种计算机操作。

5.能够调整鼠标灵敏度和指针速度。

6.能够解决鼠标常见故障。

情感态度价值观目标:1.培养学生对计算机技术的兴趣和好奇心。

2.培养学生遵守计算机操作规范的良好习惯。

3.培养学生自主学习和解决问题的能力。

二、教学内容本课程的教学内容主要包括以下几个部分:1.鼠标的基本概念和发展历程。

2.鼠标的结构和功能。

3.鼠标的基本操作技巧。

4.鼠标在计算机操作中的应用。

5.鼠标的维护和故障处理。

三、教学方法为了激发学生的学习兴趣和主动性,本课程将采用多种教学方法,包括:1.讲授法:讲解鼠标的基本概念、结构和功能。

2.演示法:展示鼠标的基本操作技巧和应用实例。

3.实践法:让学生亲自动手操作鼠标,巩固所学知识。

4.讨论法:引导学生针对鼠标的使用过程中遇到的问题进行讨论和交流。

四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,我们将准备以下教学资源:1.教材:《计算机基础操作教程》。

2.参考书:《鼠标使用技巧大全》。

3.多媒体资料:鼠标的结构和工作原理PPT。

4.实验设备:电脑和鼠标。

通过以上教学资源的使用,我们将帮助学生更好地掌握鼠标的相关知识和技能。

五、教学评估为了全面、客观、公正地评估学生的学习成果,我们将采取以下评估方式:1.平时表现:观察学生在课堂上的参与程度、提问回答等情况,评估学生的学习态度和积极性。

2.作业:布置与课程内容相关的作业,评估学生的理解和掌握程度。

3.考试:安排一次期中考试,测试学生对鼠标相关知识的掌握情况。

4.实践操作:一次鼠标操作比赛,评估学生的实际操作能力。

以上评估方式将结合知识掌握和实际操作能力,全面反映学生的学习成果。

迷宫电脑鼠的设计报告

迷宫电脑鼠的设计报告
1、L9110器件的管脚图如图所示。
2、管脚定义如下:
3、通过L9110驱动芯片IA、IB输入的逻辑值的组合,不同高低电平的输入输出,控制电机正转、反转、停转。L9110的逻辑关系表如下表所示:
L9110逻辑关系
IA
IB
OA
OB
H
L
H
L
正转
L
H
L
H
反转
L
L
L
L
停止
H
H
L
L
停止
3.3
3.3.1
电脑鼠正常行走包括直走、左转弯、右转弯和向后转弯四个功能函数。这四个功能函数中要用到T0、T1定时/计数器;所以函数中首先初始化T0、T1。T0初始化:打开总开关EA=1;开T0中断ET0=1;设定T0模式2,8位自动重装值定时计数器TMOD&=0xf6; TMOD|=0x06;设定T0计数初值,定义中断脉冲数TH0=256-ICP;TL0=256-ICP;//启动T0计数TR0=1;T1初始化也是一样的。
传感器组是由38KHz的红外一体化接收头和红外发射管构成的障碍感测器。为了能够让传感器组正常工作,红外发射管需要一个38KHz的方波来驱动,使红外发射管发射出调制频率与接收头接收频率匹配的红外光。如图所示,是产生38KHz方波的载波发生器电路。
(4)传感器的调试
(主要写每组传感器如何进行调试。)
1、左右两边的传感器检测是否有墙壁。
sbit LED3=P0^2;
sbit LED4=P0^3;
sbit LED5=P0^4;
sbit LED6=P0^5;
sbit LED7=P0^6;
sbit LED8=P0^7;
//红外地址接口定义(74HC138译码器

无线鼠标的设计与实现毕业论文

无线鼠标的设计与实现毕业论文

无线鼠标的设计与实现毕业论文目录1 引言 (1)1.1 研究的目的与意义 (1)1.2 国外研究现状和发展趋势 (1)1.3 本文的主要工作 (2)2 PS/2协议与PS/2鼠标工作原理 (4)2.1 PS/2协议简介 (4)2.1.1 PS/2硬件接口物理特性 (4)2.1.2接口协议原理 (4)2.2 PS/2鼠标的工作原理 (5)2.2.1 PS/2鼠标的工作模式 (5)2.2.2 PS/2协议数据包格式 (5)3 ZigBee无线传输协议 (7)3.1 ZigBee无线通信技术概述 (8)3.2 ZigBee协议结构 (9)4 系统总体方案设计 (12)5 PS/2鼠标硬件设计与软件解码 (15)5.1 PS/2鼠标硬件设计 (15)5.2 PS/2鼠标软件解码程序设计 (16)5.2.1液晶显示器功能简介 (17)5.2.2鼠标发送端软件结构及原理 (18)6 无线鼠标系统调试 (22)6.1系统调试中遇到的问题及解决方法 (22)6.2 实物设计演示及效果图 (23)结论 (26)致谢 (27)参考文献 (28)附录 (29)附录A (29)附录B (29)1 引言1.1 研究的目的与意义随着信息时代的来临,计算机已经在人们的日常生活中变的必不可少。

鼠标,作为人与电脑交互的基本工具,它能够控制电脑屏幕光标的移动,代替计算机键盘繁琐的指令,使计算机的操作变得简便,鼠标技术与功能的发展,己经越来越被人们所关注。

作为使用最频繁的计算机外设,无线鼠标[1-2]尚未得到普及,主要有两个方面的问题需要解决,一是功耗问题,无线鼠标没有主机供电,所以必须研究如何降低鼠标的功耗,延长电池的使用寿命;二是无线通信技术问题,无线鼠标应该采用一种低成本、低功耗、低复杂度的无线通信技术。

1.2 国外研究现状和发展趋势平时使用电脑,接触最密切的就是鼠标和键盘,用设计精良的鼠标可以让人长时间的使用而不会感到劳累,并且可以大大的提高工作效率。

鼠标外壳注塑模设计(毕业设计)

鼠标外壳注塑模设计(毕业设计)

目录摘要 ................................................................................................................................................ I II Abstract ........................................................................................................................................ I II 绪论 ................................................................................................................................................ I V 第1章概述 (1)1.1产品调研 (1)1.1.1市场调查 (1)1.1.2鼠标外壳设计的初步方案 (6)1.1.3现代注塑模具设计方法 (10)1.2产品的工艺分析 (12)1.2.1注塑材料 (12)1.2.2塑件制件设计的工艺分析 (13)1.3模具设计流程介绍 (14)1.3.1注射模人工设计流程分析 (14)1.3.2塑模CAD流程 (15)1.3.3人手设计与CAD设计的比较 (16)1.3.4模具设计环境与工具 (17)第2章 CAE有限元与MOLDFLOW分析 (19)2.1有限元分析 (19)2.2 MOLDFLOW分析与Pro/Engineer塑料顾问工具 (22)第3章模具设计 (23)3.1模具设计与参数计算 (23)3.1.1本塑件制品分析 (23)3.1.2注塑机的确定 (24)3.1.3模具结构设计 (24)3.1.4注塑机参数校核 (24)3.2浇注系统设计、关键零部件设计 (26)3.2.1浇注系统的设计 (26)3.2.2分型面的选择 (30)3.2.3排气系统的设计 (31)3.2.4成型零件的设计 (31)3.2.5型腔的侧壁和底板厚度计算 (32)3.2.6导向机构设计 (33)3.2.7脱模机构设计 (33)3.2.8冷却装置设计 (34)第4章模具装配图与爆炸图 (35)第5章总结 (36)5.1模具设计的创新与特色总结 (36)5.2论文存在问题与解决设想 (36)【参考文献】 (38)致谢 (39)附录一鼠标产品设计说明书 (40)附录二工程图 (43)摘要:这次论文,主要描述了一个塑料产品(鼠标)的设计过程,包括市场调研,工艺分析,产品外形设计,对塑件进行CAE分析后,进入模具的结构设计及有关参数计算,接着进行浇注系统及模具的有关键零部件设计,最后把关键零部件的二维图和立体图,还有模具的装配图和爆炸图以图纸形式展现出来。

关于鼠标的毕业设计

关于鼠标的毕业设计

关于鼠标的毕业设计鼠标作为计算机外设设备的重要组成部分,一直以来都扮演着非常重要的角色。

它的功能以及设计都在不断地发展和改进,以满足用户的需求。

在这篇文章中,我将探讨关于鼠标的毕业设计,探讨如何设计一款符合用户需求的鼠标。

首先,一个好的鼠标设计需要考虑到人体工程学。

人体工程学是研究人体与产品、系统、环境之间关系的学科,它的目标是提高人的工作效率和生活质量。

在鼠标的设计中,人体工程学的原则是非常重要的。

设计师需要考虑到手部的舒适度和握持的稳定性,以减少用户长时间使用鼠标时的疲劳感和不适感。

此外,鼠标的大小、形状和按键的布局也需要符合人体工程学的原则,以便用户可以自然而然地操作。

其次,鼠标的功能也是设计的重要考虑因素。

随着科技的不断进步,鼠标的功能也在不断地增加和改进。

除了基本的左键和右键功能外,现代鼠标还可以具备滚轮、侧键、触摸板等功能。

设计师需要根据用户的需求和习惯,合理地增加这些功能,以提高用户的操作效率和便利性。

例如,一些专门用于游戏的鼠标可能会增加额外的侧键,以便玩家可以更方便地进行游戏操作。

而一些设计师或艺术家可能需要更精确的鼠标控制,因此他们可能会选择带有更高分辨率的鼠标。

另外,鼠标的外观设计也是十分重要的。

一个好的外观设计可以增加鼠标的美观性和吸引力,使用户更愿意购买和使用。

外观设计不仅包括鼠标的整体形状和颜色,还包括鼠标上的图案和装饰等。

设计师需要根据目标用户的喜好和使用场景,设计出符合他们审美需求的鼠标外观。

例如,对于年轻人来说,他们可能更喜欢时尚、个性化的外观设计,而对于商务人士来说,他们可能更喜欢简约、大气的外观设计。

此外,鼠标的耐用性和可靠性也是设计的重要考虑因素。

用户希望购买一款耐用的鼠标,能够长时间使用而不容易出现故障。

设计师需要选择高质量的材料和零部件,以确保鼠标的耐用性。

此外,设计师还需要进行严格的质量控制,确保每一款鼠标都可以稳定可靠地工作。

最后,设计师还可以考虑一些创新的功能和技术来设计鼠标。

CADCAM实验报告-鼠标三维数字化造型设计

CADCAM实验报告-鼠标三维数字化造型设计

综合实验扌艮告题目:跟标三维数字化造型设计学院: ______________________________________ 年级,k专业:学生姓名:学号:指教师:开题时间:年月日完M时间:年月日目录摘要 (3)引言 (4)1、实验目的 (4)2、实验准备 (5)2.1操作平台 (5)2.2实物模型 (5)3、实验过程 (6)3.1鼠标模型轮廓线创建 (6)3.2鼠标上盖曲面创建 (9)3.3鼠标最前端面合并 (10)3.4鼠标侧面造型 (10)3.5鼠标整体轮廓造型 (12)3.6鼠标上下盖的分离 (12)3.7鼠标上盖的创建 (12)3.8鼠标底座的创建 (13)3.9鼠标中键的创建 (15)4.0零件装配 (16)184、总结5、致谢 (18)6、参考文献 (18)摘要本次综合实验针对鼠标实物,建立各个零部件的三维CAD模型,并最终在CAD软件中装配为一整体,实现实物产品的数字化建模与装配。

实验过程中应用了曲面的基本造型方法,利用边界混合将曲线构建成自由面,然后将曲面填充后合并在一起,然后进行实体化来创建鼠标实体。

再利用Pro/ENGINEER的基本特征造型创建内部的割牛,如倒角、抽壳、拉伸、镜像、孔等创建岀鼠标上盖和底座的实体结构。

再利用旋转特征创建岀鼠标中键。

然后将创建好的鼠标部件导入装配模式,然后对其定位和装配,以达到完全约束, 从而装配岀主整的鼠标。

鼠标,三维数宇化造型,曲面建模,实体建模,装配随着计算机技术的迅猛发展,工业设计领域的三维设计软件也得到前所未有的发展, 各种三维CAD/CAM软件系统应运而生,各具特色,其中PTC公司的Pro/ENGINEER 软件表现的非常突出,其中“参数化”及“单一数据库”的设计理念使产品的设计与修改简易.灵活。

Pro/ENGINEER软件系统囊括了零件设计.产品装配.模具开发.NC 加工.飯金件设计、铸造件设计.自动量测.机构仿真.和应力分析等诸多功能。

人机工程学鼠标创新设计

人机工程学鼠标创新设计

本科毕业论文(设计)论文题目:人机工程学鼠标创新设计姓名:王杰学号:103004020209班级:1002班年级:2010级专业:工业设计学院:机械工程学院指导教师:梁之臻完成时间:2014年5月14日作者声明本毕业论文(设计)是在导师的指导下由本人独立撰写完成的,没有剽窃、抄袭、造假等违反道德、学术规范和其他侵权行为。

对本论文(设计)的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。

因本毕业论文(设计)引起的法律结果完全由本人承担。

毕业论文(设计)成果归武汉工业学院工商学院所有。

特此声明。

作者专业:工业设计作者学号:103004020209作者签名:年月日人机工程学鼠标创新设计王杰Ergonomic mouse innovative designWang,jie2014年 4 月22日摘要工业产品造型设计是把美学与工程技术相结合的一门特殊的学科。

在当代工业飞速发展的背景下,工业设计早已不再是简单的技术与艺术的结合,而是材料学、工程学、应用美学、结构力学等体系的充分结合,以达到对生活的设计。

同时,这种设计也是一种创造行为,对于新事物的创造实质是“创造一种更为合理的生存方式”。

即要求生活上的安全,便捷,高效。

对于产品而言,也就是要本着“以人为本”的设计思想,创造出更加实用,对人本身生活习惯或者健康的负影响更小的产品。

而鼠标的工业设计在于外型和功能以及色彩等这几方面的设计。

其目的就是让使用者在不影响其身体健康和不改变使用习惯的基础上,最大限度地带给用户以高效,愉悦的使用环境,从而达到人机之间更好的交互过程。

关键词:鼠标;人机工程学;创新AbstractIndustrial product modeling design is the combination of aesthetics and engineering technology is a special subject. Under the background of rapid development in modern industrial, industrial design is no longer a simple combination of technology and art, but the material science, engineering, application of aesthetics, a combination of structure system, such as mechanics, in order to achieve the design of life. At the same time, this design is also a kind of creation, for the creation of something new is "to create a more reasonable way of life". Life safety, convenient, efficient. For the product, also is to be in line with the "people-oriented" design idea, to create a more practical, the people themselves living habits or negative health effects of smaller products. And the industrial design is the appearance and function of the mouse and the color of this a few aspects of the design. Its purpose is to let users without affecting the health and do not change habits, on the basis of the maximum area to users in an efficient, enjoyable use environment, so as to achieve better interaction between computer and process.Key words: the mouse; The man-machine engineering; innovation目录1.引言 (1)1.1研究对象的历史 (1)1.2研究的背景 (3)1.3研究的目的 (3)2.文献探讨 (4)2.1鼠标手概念 (4)2.2人体工程学概念 (4)3.鼠标设计的需求分析 (5)3.1传统鼠标存在的问题分析 (5)3.2现有鼠标存在的问题分析 (5)3.3鼠标使用过程中的受力分析 (5)3.4国内外现有鼠标的人机工学分析 (5)4.人机工程学鼠标的创新设计 (7)4.1色彩创新 (7)4.2结构创新 (7)4.3功能创新 (7)5.人机工程学鼠标设计 (9)5.1设计创意过程 (9)5.2设计说明概念表述 (10)5.3结论 (11)参考文献 (12)致谢 (13)武昌工学院毕业论文(设计)专用稿纸1 引言1.1研究对象的发展史当电脑出现的时候,还没有“鼠标”这个概念,很多人都知道,其实世界上第一款鼠标就是一个小木头盒子加两个滚轮。

用鼠标划线c 实验报告

用鼠标划线c  实验报告

青岛理工大学C++面向对象课程设计报告院(系):计算机工程学院专业: _计算机科学与技术学生姓名:班级:_计算123 __学号: 201207097 题目:鼠标绘制曲线 __ 起迄日期:____2014.6.23~2013.7.5 设计地点: __计算机学院机房指导教师: ____刘淑霞完成日期: 2014 年7月 5 日目录第一章绪论 (1)1.1课题背景 (1)1.2国内外研究情况 (1)第二章需求分析 (3)2.1 功能需求 (3)2.2 数据需求 (3)第三章总体分析 (5)3.1 系统总体结构框图 (5)第四章详细设计 (6)4.1 类的关系图 (6)4.3 主要功能代码说明 (7)第五章系统使用说明书 (11)第六章结论 (15)第七章参考文献 (16)第一章绪论1.1课题背景、内容绘图是现代人学习、工作中的不可缺少的一项,人们在工作学习中常常需要绘制一些图形,虽然在一些文档工具中可以实现图形绘制,但往往比较麻烦,并且不易学习,一般没学过相关知识的人是不会运用文档工具中的功能去实现简单图形绘制的,这样人们在工作、学习中往往会陷入困境。

简单的绘图工具可以给人们工作带来很大的方便。

利用绘图工具实现简单绘图,不仅简单易学,而且方便简洁。

本课题主要应用c++编程实现用鼠标能过绘制图形,并且实现存储简单图形的功能,在绘图过程中可以应用对话框进行简单的线型、宽度、色彩的换用。

1.2国内外研究情况微软公司计算机系统自带的画图工具Adobe Photoshop CS8.01绿色版精简版软件语言:Photoshop是著名的图象处理软件, 为美国ADOBE公司出品。

在修饰和处理摄影作品和绘画作品时,具有非常强大的功能Adobe Illustrator CS v11 Adobe Illustrator是一套被设计用来作输出及网页制作双方面用途、功能强大且完善的绘图软件包,这个专业的绘图程序整合了功能强大的向量绘图工具、完整的PostScript输出,并和Photoshop或其它Adobe家族的软件紧密地结合。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程报告windows钩子程序实现班级:学号:姓名:教师评语:教师签名:2010年7月课程设计题目windows钩子程序实现目的和背景目的:1)更深入的学习C++,并学会在Visual C++ 6.0上编写应用程序2)了解windows钩子程序的基本原理,类型和实现过程3)掌握用C++来设计一个钩子程序背景:钩子的本质是一段用以处理系统消息的程序,通过系统调用,把他挂入系统。

钩子的种类很多,每种钩子可以截获并处理相应的消息,每当特定的消息发出,在到达目的窗口之前,钩子程序先行截获该消息、得到对此消息的控制权。

此时钩子函数可以对截获的消息进行加工处理,甚至可以强制结束消息的传递。

鼠标钩子是能截获鼠标的操作,包括单击,双击,鼠标所在的位置等;而键盘钩子是截获从键盘输入的信息。

主要内容1)熟悉钩子程序在Windows操作系统的作用2)通过找资料,学习钩子程序的基本原理,包括Windows的消息传递机制,钩子的概念,钩子的类型,钩子的实现过程3)学习和掌握钩子函数,Win32全局钩子的运行机制,VC6中MFC DLL的分类及特点和在VC6中全局共享数据的实现4)用C++编写一个windows钩子程序;实现适时获取当前鼠标所在窗口的标题和监视各种键盘消息,如,把把鼠标所在窗口标题显示在一个EDITBOX中,从键盘输入的信息记录在一个文档里采用的工具方法Windows XP 操作系统,Visual C++ 6.0进度安排1)18周周(三)—18周周(四):查找相关的资料,对钩子程序的相关知识进行全面的了解2)18周周(五)—19周周(一):对程序进行分析,并加强有关方面的知识,如,C++编程的能力3)19周周(二)—19周周(三):学习了解Win32全局钩子的运行机制,VC6中MFC DLL的分类及特点和在VC6中全局共享数据的实现4)19周周(四)—20周周(一):编码实现windows钩子程序,并实现相应的功能5)20周周(二)—20周周(三):进行程序测试参考资料[1] 王育坚.Visual C++面向对象编程教程(第2版)[M].北京:清华大学出版社,2007.10.[2] 王西武,阎梅,赵怀勋. 在VC6下应用Windows系统钩子技术[J]. 现代电子技术 . 2004:27(17) .[3] 徐士良.常用算法程序集:C++语言描述(第4版)[M].北京:清华大学出版社,2009.7.[4] 钱能.C++程序设计教程:设计思想与实现(修订版)[M].北京:清华大学出版社.2009.7.[5] 游洪跃, 伍良富, 王景熙.C++面向对象程序设计实验和课程设计教程[M].北京:清华大学出版社,2009.2.[6]倪步喜.Windows的钩子技术及实现[J].计算机与现代化.2007,28(1):28-30.1目的和背景钩子的本质是一段用以处理系统消息的程序,通过系统调用,把他挂入系统。

钩子的种类很多,每种钩子可以截获并处理相应的消息,每当特定的消息发出,在到达目的窗口之前,钩子程序先行截获该消息、得到对此消息的控制权。

此时钩子函数可以对截获的消息进行加工处理,甚至可以强制结束消息的传递。

鼠标钩子是能截获鼠标的操作,包括单击,双击,鼠标所在的位置等;而键盘钩子是截获从键盘输入的信息。

通过这个课程设计,目的是更深入的学习C++,并学会在Visual C++ 6.0上编写应用程序,了解windows钩子程序的基本原理,类型和实现过程,掌握用C++来设计一个钩子程序。

2设计想思钩子实际上是一个处理消息的程序段,通过系统调用,把它挂入系统。

每当特定的消息发出,在没有到达目的窗口前,钩子程序就先捕获该消息,亦即钩子函数先得到控制权。

这时钩子函数即可以加工处理该消息,也可以不作处理而继续传递该消息,还可以强制结束消息的传递。

对每种类型的钩子由系统来维护一个钩子链,最近安装的钩子放在链的开始,而最先安装的钩子放在最后,也就是后加入的先获得控制权。

由此,我们建立一个鼠标和键盘钩子,把它挂入系统,鼠标钩子是能截获鼠标所指的窗口的标题,而键盘钩子是截获从键盘输入的字符。

因为要建立的是全局钩子,要Win32的运行机制,并且在Visual C++6.0中用Win32 DLL来构造动态链接库。

3函数与数据结构(1)函数SetWindowsHookEx要实现Win32的系统钩子,必须调用SDK中的API函数SetWindowsHookEx来安装这个鼠标和键盘钩子,这个函数的原型是HHOOKSetwindowsHookEx(int idHook,HOOKPROC Lpfn,INSTANCE hMod,DWORD dwTreadId)参数:idHook:表示钩子类型,它是和钩子函数类型一一对应的。

比如,WH_KEYBOAR,表示安装的是键盘钩子,WH_MOUSE表示是鼠标钩子等。

Lpfn:是钩子函数的地址。

HMod:是钩子函数所在的实例的句柄。

对于线程钩子,该参数为NULL;对于系统钩子,该参数为钩子函数所在的DLL句柄。

dwThreadId :指定钩子所监视的线程的线程号。

对于全局钩子,该参数为NULL。

SetWindowsHookEx:返回所安装的钩子句柄。

值得注意的是线程钩子和系统钩子的钩子函数的位置有很大的差别。

线程钩子一般在当前线程或者当前线程派生的线程内,而系统钩子必须放在独立的动态链接库中。

(2)函数WINAPI DllMain当一个进程或线程载入和卸载DLL时,都要调用该函数,它的原型是BOOL WINAPI DllMain(HINSTANCE hinstDLL,DWORD fdwReason, LPVOID lpvReserved);其中:第一个参数hinstDLL:表示DLL的实例句柄;第二个参数fdwReason:它有四个可能的值:DLL_PROCESS_ATTACH(进程载入),DLL_THREAD_ATTACH(线程载入),DLL_THREAD_DETACH(线程卸载),DLL_PROCESS_DETACH (进程卸载),在DLLMain函数中可以对传递进来的这个参数的值进行判别,并根据不同的参数值对DLL进行必要的初始化或清理工作。

举个例子来说,当有一个进程载入一个DLL时,系统分派给DLL的第二个参数为DLL_PROCESS_ATTACH,这时,你可以根据这个参数初始化特定的数据。

第三个参数lpvReserved:是系统保留;在Win32环境下,所有应用程序都有自己的私有空间,每个进程的空间都是相互独立的,这减少了应用程序间的相互影响,但同时也增加了编程的难度。

当进程在载入DLL时,系统自动把DLL地址映射到该进程的私有空间,而且也复制该DLL的全局数据的一份拷贝到该进程空间,也就是说每个进程所拥有的相同的DLL的全局数据其值却并不一定是相同的。

因此,在Win32环境下要想在多个进程中共享数据,就必须进行必要的设置。

亦即把这些需要共享的数据分离出来,放置在一个独立的数据段里,并把该段的属性设置为共享。

(3)函数MouseProcMouseProc 是鼠标钩子处理函数,当SetWindowsHookEx函数第一个参为:WH_MOUSE 时,调用本函数,首先要在系统中安装一个鼠标消息钩子。

函数原型:LRESULT CALLBACK MouseProc( int nCode,WPARAM wParam,LPARAM lParam);参数:nCode:跟所有其他钩子处理函数一样,当nCode小于0时:调用CallNextHookEx()。

nCode 可以是HC_ACTION和HC_NOREMOVE。

当nCode等于HC_ACTION时,wParam和lParam 包含鼠标信息;当nCode等于HC_NOREMOVE时,wParam和lParam 包含鼠标信息,并且鼠标消息没有从消息队列里移除。

wParam:指定鼠标消息ID。

lParam:一个MOUSEHOOKSTRUCT 结构的指针。

返回值:如果参数ncode小于0,则必须返回CallNextHookEx(),也就是CallNextHookEx()的返回值如果参数ncode大于等于0,并且钩子处理函数没有处理消息,CallNextHookEx()的返回值,否则当您安装WH_MOUSE钩子的应用程序将不会得到通知,并且得到一个错误的结果,如果钩子处理的消息,您可以返回一个非0值,防止系统把消息发送到目标窗口程序。

(4)函数KeyboardProcKeyboardProc是键盘钩子处理函数函数原型:LRESULT CALLBACK KeyboardProc( int code,WPARAM wParam,LPARAM lParam );参数:Code:根据这个数值决定怎样处理消息如果code 小于0,则必须KeyboardProc()函数返回CallNextHookEx() code可以是下列值:HC_ACTION:wParam和lParam包含按键消息;HC_NOREMOVE:wParam和lParam包含按键消息,并且按键消息不能从消息队列中移除。

wParam:按键的虚拟键值消息。

lParam:32位内存,内容描述包括:指定扩展键值,扫描码,上下文,重复次数。

0-15位:按下键盘次数;16-23位:指定扫描码,依赖于OEM ;24位为1时候:表示按键是扩展键;为0时候:表示按键是是数字键盘按键;25-28位:保留位;29位:上下文键:为1时:ALT按下,其他情况为0 ;30位:如果是按键按下后发送的消息,30位为1,如果是按键抬起后30位为1;31位:指定转变状态:31位为0时候,按键正在被按下,为1时候,按键正在被释放。

返回值:如果参数code小于0,则必须返回CallNextHookEx(),也就是返回CalNext HookEx()的返回值如果参数code大于等于0,并且钩子处理函数没有处理消息,返回CallNextHookEx()的返回值,否则当您安装WH_KEYBOARD钩子时,钩子将不会得到通知,并返回错误结果。

如果钩子处理的消息,可以返回一个非0值,防止系统把消息传递给钩子链中的下一个钩子,或者把消息发送到目标窗口。

(5)函数CallNextHookEx功能是调用下一个钩子,原型为:CallNextHookEx(hhk HHOOK,nCode Integer,wParam WPARAM,lParam LPARAM);参数:HHOOK:当前钩子的句柄nCode:钩子代码; 就是给下一个钩子要交待的WPARAM:要传递的参数; 由钩子类型决定是什么参数LPARAM:要传递的参数; 由钩子类型决定是什么参数返回值:返回下一个钩子执行后的返回值:0表示失败。

相关文档
最新文档