-
20年专注海外留学生essay代写
-
50000+留学生essay代写首选品牌
-
正规教育机构教你怎么写essay范文
Essay写作网,专业正规的essay辅导代写机构,【专注essay代写辅导20年】,轻松搞定您的Essay、Report、Paper、Assignment作业,并提供英国、美国、加拿大、澳大利亚等区域各类英文报告、实验报告、商业报告等定制写作服务,100%原创保障,免费Turnitin检测,为你的海外留学之路保驾护航!!
Essay写作网是海外留学生作业代写【正规服务机构】,拥有500余名专业的英文写手,服务于全球数百所高校和70余专业领域,提供专业的留学生essay作业代写、英文report代写、英文assignment代写服务。专业高效、24小时一对一跟踪服务、12小时内解决所有售后问题、企业级客服QQ支持,免费turnitin检测服务,安全又省心。
美国加州大学洛杉矶分校地理系博士 硕士
英国剑桥大学会计硕士 利物浦大学经济学学士
剑桥大学荣誉学士&硕士 计算机科学导师
宾夕法尼亚州立大学-机械工程-博士
牛津大学金融数学硕士 从事课外辅导行业七年
Essay写作网致力于为您解决英文essay代写价格、 Report代写、Paper代写、Assignment代写、代写essay多少钱 、网课代修、 英国essay范文格式 等高效、高质量的作业辅导代写服务,稳步提升您的英文论文写作能力,避免挂科,提升毕业率,实现留学生GPA的飞跃提升!
500+专业写作队伍、涉及70余专业学科,专业精准匹配,团队成员均为业内精英,针对性强,帮您轻松过关
100%专业高度匹配原则,您的委托都交给相关专业人士更有保障。我们宁缺毋滥,助您轻松得高分
1V1企业级专席客服支持,售后无忧。您可以实时沟通意见或建议,这一切轻松而省心,进度随时可查!
业内首家支持支付宝担保交易、天猫店铺在线下单,可以分期付款,您的委托任务完全没有后顾之忧
essay代写、 report代写、网课代修均支持100%Pass保障、不用花更多心思、即可助您稳步提升GPA获得好成绩
长达14天的免费售后支持,完美售后,轻松解决留学生在essay写作、report写作、paper写作中的各类问题
快速高质量的代写润色,100%原创写作,免费为每位客户提供Turnitin的OriginalityCheck®检测报告
专业流程化服务,下单即安排专业对口写手对接沟通,原创定制,确保100%准时完成,无拖延超时赔付
添加微信:pjcourse222
支持语音、图文实时沟通
登陆ESSAY写作官网
在线自助提交订单
摘要:键盘事件的挂钩监控原理及其应用 WINDOWS的消息处理机制为了能在 应用 程序中监控系统的各种事件消息,提供了挂接 各种反调函数(HOOK)的功能。这种挂钩函数(HOOK)类似扩充中断驱动程序,挂......
键盘事件的挂钩监控原理及其应用
WINDOWS的消息处理机制为了能在应用程序中监控系统的各种事件消息,提供了挂接 各种反调函数(HOOK)的功能。这种挂钩函数(HOOK)类似扩充中断驱动程序,挂钩上 可以挂接多个反调函数构成一个挂接函数链。系统产生的各种消息首先被送到各种 挂接函数,挂接函数根据各自的功能对消息进行监视、修改和控制等,然后交还控 制权或将消息传递给下一个挂接函数以致最终达到窗口函数。WINDOW系统的这种反 调函数挂接方法虽然会略加影响到系统的运行效率,但在很多场合下是非常有用 的,通过合理有效地利用键盘事件的挂钩函数监控机制可以达到预想不到的良好效 果。
一、在WINDOWS键盘事件上挂接监控函数的方法
WINDOW下可进行挂接的过滤函数包括11种:
WH_CALLWNDPROC 窗口函数的过滤函数
WH_CBT 计算机培训过滤函数
WH_DEBUG 调试过滤函数
WH_GETMESSAGE 获取消息过滤函数
WH_HARDWARE 硬件消息过滤函数
WH_JOURNALPLAYBACK 消息重放过滤函数
WH_JOURNALRECORD 消息记录过滤函数
WH_MOUSE 鼠标过滤函数
WH_MSGFILTER 消息过滤函数
WH_SYSMSGFILTER 系统消息过滤函数
WH_KEYBOARD 键盘过滤函数
其中键盘过滤函数是最常用最有用的过滤函数类型,不管是哪一种类型的过滤函 数,其挂接的基本方法都是相同的。 WINDOW调用挂接的反调函数时总是先调用挂接链首的那个函数,因此必须将键盘挂 钩函数利用函数SetWindowsHookEx()将其挂接在函数链首。至于消息是否传递给函 数链的下一个函数是由每个具体函数功能确定的,如果消息需要传统给下一个函 数,可调用API函数的CallNextHookEx()来实现,如果不传递直接返回即可。 挂接函数可以是用来监控所有线程消息的全局性函数,也可以是单独监控某一线程 的局部性函数。如果挂接函数是局部函数,可以将它放到一个.DLL动态链接库中, 也可以放在一个局部模块中;如果挂接函数是全局的,那么必须将其放在一个.DLL 动态链接库中。挂接函数必须严格按照下述格式进行声明,以键盘挂钩函数为例:
int FAR PASCAL KeyboardProc( int nCode,WORD wParam,DWORD lParam) 其中KeyboardProc为定义挂接函数名,该函数必须在模块定义文件中利用EXPORTS命 令进行说明;nCode决定挂接函数是否对当前消息进行处理;wParam和lParam为具体 的消息内容。
二、键盘事件挂接函数的安装与下载 在程序中可以利用函数SetWindowsHookEx()来挂接过滤函数,在挂接函数时必须指 出该挂接函数的类型、函数的入口地址以及函数是全局性的还是局部性的,挂接函 数的具体调用格式如下:
SetWindowsHookEx(iType,iProc,hInst,iCode) 其中iType为挂接函数类型,键盘类型为WH_KEYBOARD,iProc为挂接函数地址,hInst 为挂接函数链接库实例句柄,iCode为监控代码-0表示全局性函数。 如果挂接函数需要将消息传递给下一个过滤函数,则在该挂接函数返回前还需要调 用一次CallNextHookEx()函数,当需要下载挂接函数时,只要调用一次 UnhookWindowsHookEx(iProc)函数即可实现。 如果函数是全局性的,那么它必须放在一个.DLL动态链接库中,这时该函数调用方 法可以和其它普通.DLL函数一样有三种:
1.在DEF定义文件中直接用函数名或序号说明: EXPORTS WEP @1 RESIDENTNAME InitHooksDll @2 InstallFilter @3 KeyboardProc @4 用序号说明格式为:链接库名.函数名(如本例中说明方法为KEYDLL.KeyboardProc)。
2.在应用程序中利用函数直接调用: 首先在应用程序中利用LoadLibrary(LPSTR "链接库名")将动态链接库装入,并取得 装载库模块句柄hInst,然后直接利用GetProcAddress(HINSTANCE hInst,LPSTR "函 数过程名")获取函数地址,然后直接调用该地址即可,程序结束前利用函数 FreeLibrary( )释放装入的动态链接库即可。
3.利用输入库.LIB方法 利用IMPLIB.EXE程序在建立动态链接库的同时建立相应的输入库.LIB,然后直接在 项目文件中增加该输入库。
三、WINDOWS挂钩监控函数的实现步骤 WINDOWS挂钩函数只有放在动态链接库DLL中才能实现所有事件的监控功能。在.DLL 中形成挂钩监控函数基本方法及其基本结构如下:
1、首先声明DLL中的变量和过程;
2、然后编制DLL主模块LibMain(),建立模块实例;
3、建立系统退出DLL机制WEP()函数;
4、完成DLL初始化函数InitHooksDll(),传递主窗口程序句柄;
5、编制挂钩安装和下载函数InstallFilter();
6、编制挂钩函数KeyboardProc(),在其中设置监控功能,并确定继续调下一个钩 子函数还是直接返回WINDOWS应用程序。
7、在WINDOWS主程序中需要初始化DLL并安装相应挂钩函数,由挂接的.钩子函数负 责与主程序通信;
8、在不需要监控时由下载功能卸掉挂接函数。
四、WINDOWS下键盘挂钩监控函数的应用技术 目前标准的104 键盘上都有两个特殊的按键,其上分别用WINDOW程序徽标和鼠标下 拉列表标识,本文暂且分别称为Micro左键和Micro右键,前者用来模拟鼠标左键激 活开始菜单,后者用来模拟鼠标右键激活属性菜单。这两个特殊按键只有在按下后 立即抬起即完成 CLICK过程才能实现其功能,并且没有和其它按键进行组合使用。 由于WINDOWS 系统中将按键划分得更加详细,使应用程序中很难灵活定义自己的专 用快捷键,比如在开发.IME等应用程序时很难找到不与WORD8.0等其它应用程序冲突 的功能按键。如果将标准104键盘中的这两个特殊按键作为模拟CTRL和ALT 等专用按 键,使其和其它按键组合,就可以在自己的应用程序中自由地设置专用功能键,为 应用程序实现各种功能快捷键提供灵活性。正常情况下WINDOWS 键盘事件驱动程序 并不将这两个按键的消息进行正常解释,这就必须利用键盘事件的挂钩监控函数来 实现其特定的功能。其方法如下:
1、首先编制如下一个简单动态链接库程序,并编译成DLL文件。 #include "windows.h"
int FAR PASCAL LibMain(HANDLE hModule,UINT wDataSeg, UINT cbHeapSize,LPSTR lpszCmdLine);
int WINAPI WEP(int bSystemExit);
int WINAPI InitHooksDll(HWND hwndMainWindow);
int WINAPI InstallFilter(BOOL nCode);
LRESULT CALLBACK KeyHook(int nCode,WORD wParam,DWORD lParam);
static HANDLE hInstance; // 全局句柄
static HWND hWndMain; // 主窗口句柄
static int InitCalled=0; // 初始化标志
static HHOOK hKeyHook;
FARPROC lpfnKeyHook=(FARPROC)KeyHook;
BOOL HookStates=FALSE;
int FAR PASCAL LibMain( HANDLE hModule, UINT wDataSeg, UINT cbHeapSize, LPSTR lpszCmdLine)
{
if (cbHeapSize!=0)
UnlockData(0);
hInstance = hModule;
return 1;
}
int WINAPI WEP (int bSystemExit)
{ return 1;}
int WINAPI InitHooksDll(HWND hwndMainWindow)
{
hWndMain = hwndMainWindow;
InitCalled = 1;
return (0);
}
int WINAPI InstallFilter(BOOL nCode)
{ if (InitCalled==0)
return (-1);
if (nCode==TRUE)
{
hKeyHook=SetWindowsHookEx(WH_KEYBOARD, (HOOKPROC)lpfnKeyHook,hInstance,0);
HookStates=TRUE;
}
else
{
UnhookWindowsHookEx(hKeyHook);
HookStates=FALSE;
}
return(0);
}
LRESULT CALLBACK KeyHook(int nCode,WORD wParam,DWORD lParam)
{
static BOOL msflag=FALSE;
if(nCode>=0)
{
if(HookStates==TRUE)
{
if((wParam==0xff)|| //WIN3.X下按键值
(wParam==0x5b)||(wParam==0x5c)){//WIN95下按键值
if((i==0x15b)||(i==0x15c)){ //按键按下处理
msflag=TRUE;
PostMessage(hWndMain,0x7fff,0x1,0x3L);
}
else if((i==0xc15b)||(i==0xc15c)){//按键抬起处理 msflag=FALSE;
PostMessage(hWndMain,0x7fff,0x2,0x3L);
}
}
}
}
return((int)CallNextHookEx
(hKeyHook,nCode,wParam,lParam));
}
该程序的主要功能是监控键盘按键消息,将两个特殊按键Micro按下和抬起消息转换 成自定义类型的消息,并将自定义消息发送给应用程序主窗口函数。
2、在应用程序主函数中建立窗口后,调用InitHooksDll()函数来初始化动态链接 库,并将应用程序主窗口句柄传递给链接库,然后调用InstallFilter()函数挂接键 盘事件监控回调函数。
InitHooksDll(hIMEWnd); //初始化DLL
InstallFilter(TRUE); //安装键盘回调函数
3、在应用程序主窗口函数处理自定义消息时,保存Micro按键的状态,供组合按键 处理时判断使用。
switch (iMessage)
{
case 0x7fff: //自定义消息类型
if(lParam==0x3L)
{//设置Micro键的状态
if(wParam==0x1)
MicroFlag=TRUE;
else if(wParam==0x2)
MicroFlag=FALSE;
}
break;
4、在进行按键组合处理时,首先判断Micro键是否按下,然后再进行其它按键的判 断处理。
case WM_KEYDOWN: // 按键按下处理
if(MicroFlag==TRUE)
{
//Micro键按下
if((BYTE)HIBYTE(wParam)==0x5b)
{
//Micro+"["组合键 ......//按键功能处理 }
else if((BYTE)HIBYTE(wParam)==0x5d)
{
//Micro+"]"组合键 ......//按键功能处理 } } break;
5、当应用程序退出时应注意下载键盘监控函数,即调用InstallFilter(FALSE)函 数一次。
6、利用本文提供的方法设置自己的应用程序功能按键,在保证程序功能按键不会 与其它系统发生冲突的同时,有效地利用了系统中现有资源,而且在实现应用程序 功能的同时灵活应用了系统中提供的各种功能调用。
[海外essay代写]键盘事件的挂钩监控原理及其应用http://www.0592w.com/ligong/1828.html
essay辅导替代essay代写-正规代写机构教你怎么写essays范文-Essay写作格式网官方推荐
99.99%的用户同时也查看了:
[留学生essay写作]数码动画...... 2020-12-25
数码动画新纪元MAYA 注重一下各种场合播放的动画影片, 电视 节目广告,节目片头…,也许,您已 经感到数码动画的时代已经静静来临了。一点没错,一般媒体所展现的视觉效果已经无法满......
[美国研究生金融essay]在...... 2020-12-25
在RedHat中使用ReiserFSpaper系统 一、日志式paper系统简介 尽管Linux可以支持种类繁多的paper系统,但是几乎所有的Linux发行版都用ext2作为默认的paper系统。ext2的设计者主要考虑的是paper系统性......
[留学essay兼职]工程造价研...... 2020-12-25
这篇工程造价论文范文属于电子通信工程免费优秀学术论文范文,工程造价有关研究生毕业论文开题report,与水利水电工程施工组织设计与工程造价相关在职工程硕士毕业论文。适合工程造价及......
[新sat essay多少分]治理费用...... 2020-12-25
为您写治理费用毕业论文和职称论文提供治理费用有关毕业论文提纲范文,与工程报价与工程治理相关论文范文例文,包括关于治理费用及投标报价及施工索赔方面的论文题目、提纲、开题report......
[10小时写essay]招投标类毕...... 2020-12-25
本论文是一篇关于招投标类工程硕士论文,关于建设工程招投标对工程造价的影响相关毕业论文提纲范文。免费优秀的关于招投标及工程造价及建设工程招投标方面论文范文资料,适合招投标论......
[essay 十二分怎么办]工程治...... 2020-12-25
该文是电子通信工程专业工程治理论文范文,主要论述了工程治理类硕士论文开题report,与暖通工程的治理与控制相关论文范文集,适合工程治理及工程施工及招投标方面的的大学硕士和本科......
[honest essay]工程预算类毕业...... 2020-12-25
此文是一篇工程预算论文范文,关于工程预算类论文例文,与工程预算审核相关本科论文开题report。适合不知如何写工程预算及施工现场及工程造价方面的电子通信工程专业大学硕士和本科毕业......
[2000字essay多少钱]煤矿as...... 2020-12-25
煤矿assignment面自动化控制系统探讨 摘要 :我国综采assignment面自动化的研究己经有十多年的历史,但总的来说,综采assignment面自动化的设备零散组合多,整体成套系统少,因此系统可靠性有待提高。......
[美国大学文科essay多吗]环...... 2020-12-25
环境保护的高中议论文 环境保护的高中议论文1 当在你经过绿化带时你会看到过“保护绿化,人人有责”的标识语。无论是在小区还是公园的空地旁边也会看到“请勿随便乱扔垃圾”“请勿随......
[十大essay代写服务机构]对...... 2020-12-25
对新《环境保护法》的思索论文 在日常学习和assignment生活中,大家都写过论文吧,论文是讨论某种问题或研究某种问题的essay。如何写一篇有思想、有文采的论文呢?下面是小编整理的对新《......
[留学生essay代写机构]旅游...... 2020-12-25
旅游资源环境保护探索 旅游资源环境则以旅游资源为中央,涵盖旅游目的地范围内的自然生态、人文、社会经济环境等,强调对旅游资源的合理利用及可持续发展[2-3]。安县作为经济......
[英国1000字essay范文]近自然...... 2020-12-25
近自然绿道在公路环保中的应用 近自然绿道建设遵循尊重自然景观特征,对可以保留的自然、文化景观进行保护和修复,通过建设生态走廊保护环境、提高交通安全、促进当地经济和旅游业......
[法国sai联盟essay回答]岩土...... 2020-12-25
岩土工程勘察中基础地质技术应用 岩土工程勘察中基础地质技术应用 [摘要]我国的科学技术飞速发展,建筑工程的数量也逐渐增多,项目设计也更加的复杂,这就对岩土类工程的勘察技术提......
[essay传到网上 查重]农村电...... 2020-12-25
农村电力治理模式优化研究 农村电力治理模式优化研究 1 引 言 根据电力部门相关的统计数据,2013 年全年农村居民生活用电为 1100 亿 kWh,按 8 亿农夫计算,人均农村居民生活用电仅为 137.5k......
[华工final essay]机械类论文...... 2020-12-25
机械类方向的论文参考paper 在日常学习和assignment中,大家最不生疏的就是论文了吧,通过论文写作可以培养我们的科学研究能力。那么你知道一篇好的论文该怎么写吗?下面是小编为大家收集......
[会计研究生入学essay]浅谈...... 2020-12-25
浅谈我国农业机械化的现状及发展趋势论文 在各领域中,大家一定都接触过论文吧,论文可以推广经验,交流熟悉。怎么写论文才能避免踩雷呢?以下是小编为大家收集的浅谈我国农业机械......
[美国高校报考写essay]浅谈...... 2020-12-25
浅谈海内风电整机技术发展 浅谈海内风电整机技术发展 董礼 中国的低风速风电发展至今,已经进入了风电开发的“无人区”,下一步怎么走只有自己向前探索,仅仅靠引进技术很难走得太远......
[加拿大大萧条原因essay]油...... 2020-12-25
油田地面工程治理问题与优化对策 油田地面工程治理问题与优化对策 随着海内石油建设工程迅速发展,所面临的市场范围越来越广泛,日益受到市场竟争的冲击,同时,也呈现了许多问题,......
[十天搞定新托福essay]石油...... 2020-12-25
石油钻井工程essay成本治理问题与对策 石油钻井工程essay成本治理问题与对策 石油钻井essay成本一般分为直接费和间接费两大类。直接费包含石油钻井essay过程中直接发生的人工essay成本,......
[essay代写都是什么水平]油...... 2020-12-25
油田勘探论文:提升科研人员素质助力油田勘探开发 油田勘探论文:提升科研人员素质助力油田勘探开发 杨德林 中原油田勘探开发科学研究院主要承担东濮凹陷、普光气田、内蒙探区及外围......
[essay写手应聘]燃料电池发...... 2020-12-25
关于燃料电池发电技术调研report(一) 作者:辽宁电力科学研究院孔宪文桂敏言(辽宁省电力有限公司冯玉全) 【摘要】本文概述了燃料电池的assignment特点和原理,介绍了发电系统的组成、海内外的......
[gre essay写作范文]对我国石...... 2020-12-25
对我国石油“走出去”战略设想的思索 既要预防型工程更要出击型体系将石油风险释放到国际市场中———对我国石油“走出去”战略设想的思索 从我国资源的实际状况出发,维护我国石油......
[esl essay 技巧]泰勒科学治...... 2020-12-25
泰勒科学治理思想对物流配送企业的启示 泰勒科学治理思想对物流配送企业的启示 宋 成1,宋 刚2,3(1.哈尔滨商业大学 治理学院,哈尔滨 150028;2.满洲里市食品药品 监督治理局,内蒙古 满......
[留学的essay怎么写]深圳建...... 2020-12-25
深圳建设区域性物流中央城市的功能定位与发展策略 深圳经过二十年的发展建设,国民经济实力快速增加,已形成我国区域性的金融、贸易、运输。信息中央和高新技术产业基地的雏形。伴......
[留学生essay代写价格]物流...... 2020-12-25
物流中央的规划设计及其有关问题 人类社会经济的发展是由物资生产水平所决定的,物资的流通和集散点同时也是人类的居住集中点,达到一定的规模时就形成了城市。随着历史的发展,城......
[留学生essay润色]加强物流...... 2020-12-25
加强物流“结合部”理论研究,全面提高物流中央效益 一、物流系统“结合部”的重要地位与作用 物流,是指在社会再生产中,物质资料从供给地到消费地之间实物形态的流动过程。作为一......