• 20年专注海外留学生essay代写

  • 50000+留学生essay代写首选品牌

  • 正规教育机构教你怎么写essay范文

Essay写作网,专业正规的essay辅导代写机构,【专注essay代写辅导20年】,轻松搞定您的EssayReportPaperAssignment作业,并提供英国、美国、加拿大、澳大利亚等区域各类英文报告、实验报告、商业报告等定制写作服务,100%原创保障,免费Turnitin检测,为你的海外留学之路保驾护航!!

Who We Are

Enjoy your study life

Essay写作网是海外留学生作业代写【正规服务机构】,拥有500余名专业的英文写手,服务于全球数百所高校和70余专业领域,提供专业的留学生essay作业代写英文report代写英文assignment代写服务。专业高效、24小时一对一跟踪服务、12小时内解决所有售后问题、企业级客服QQ支持,免费turnitin检测服务,安全又省心。

Essay写作网正规留学生作业代写服务机构
ALICE加州大学地理系博士

ALICE

美国加州大学洛杉矶分校地理系博士 硕士

Helen英国剑桥大学会计硕士

Helen

英国剑桥大学会计硕士 利物浦大学经济学学士

Joseph剑桥大学荣誉学士

Joseph

剑桥大学荣誉学士&硕士 计算机科学导师

Yvette宾夕法尼亚州立大学博士

Yvette

宾夕法尼亚州立大学-机械工程-博士

>Mabel牛津大学金融数学硕士

Mabel

牛津大学金融数学硕士 从事课外辅导行业七年

Our Services

Essay辅导代写服务

Essay范文辅导代写

Essay辅导代写服务,5000+专业essay老师在线服务,提供包括essay代写、essay辅导、代写essay、essay写作等服务

report代写/报告代写

paper代写润色辅导

强大的paper写手团队,为10000名留学生提供paper代写、代写paper、paper润色修改服务,安全省心,让你的GPA飞速提升

英文report作业代写/翻译服务

report作业代写辅导

依托自身report代写团队,为留学生提供report作业代写、report范文格式学习、代写report报告作业等report辅导写作服务

Assignment代写修改校对

Assignment代写修改

英语Assignment代写修改润色,Assignment写作辅导,代写Assignment范文,免费Turnitin检测,原创定制,向挂科say byebye!!

Essay写作网致力于为您解决英文essay代写价格、 Report代写、Paper代写、Assignment代写、代写essay多少钱 、网课代修、 英国essay范文格式 等高效、高质量的作业辅导代写服务,稳步提升您的英文论文写作能力,避免挂科,提升毕业率,实现留学生GPA的飞跃提升!

Our Advantage

强大冠军写手团队

强大冠军写手团队

500+专业写作队伍、涉及70余专业学科,专业精准匹配,团队成员均为业内精英,针对性强,帮您轻松过关

100%专业匹配

100%专业匹配

100%专业高度匹配原则,您的委托都交给相关专业人士更有保障。我们宁缺毋滥,助您轻松得高分

1V1专席客服

1V1专席客服

1V1企业级专席客服支持,售后无忧。您可以实时沟通意见或建议,这一切轻松而省心,进度随时可查!

担保交易支持

担保交易支持

业内首家支持支付宝担保交易、天猫店铺在线下单,可以分期付款,您的委托任务完全没有后顾之忧

100%提升保障

100%提升保障

essay代写、 report代写、网课代修均支持100%Pass保障、不用花更多心思、即可助您稳步提升GPA获得好成绩

免费售后支持

免费售后支持

长达14天的免费售后支持,完美售后,轻松解决留学生在essay写作、report写作、paper写作中的各类问题

免费Turnitin检测

免费Turnitin检测

快速高质量的代写润色,100%原创写作,免费为每位客户提供Turnitin的OriginalityCheck®检测报告

100%准时完成

100%准时完成

专业流程化服务,下单即安排专业对口写手对接沟通,原创定制,确保100%准时完成,无拖延超时赔付

Get in Touch

微信在线咨询

微信在线咨询

添加微信:pjcourse222
支持语音、图文实时沟通

Email实时沟通

Email实时沟通

您也可以通过Email联系我们
邮箱:[email protected]

自助提交订单

自助提交订单

登陆ESSAY写作官网
在线自助提交订单

Essay写作网专注ESAAY代写辅导20年,提供留学生一对一Tuto辅导,海外留学就业一站式服务平台!专业essay代写辅导【正规网站】,【全球留学生论文代写推荐品牌】,【上万留学生共同信任的权威教育机构】

当前位置: essay代写网 > 理工论文范文 >

时间:2020-11-08 19:48 来源: 代写essay

摘要:监视、控制计算机的使用 基于Windows NT/2000 的 应用 系统中,一些关键的人机交互工作站,常需要了解并记录所有操作人员操作 计算机 的情况。如: 在工业控制领域,一些使用 计算机 对设备......

监视、控制计算机的使用

基于Windows NT/2000 的应用系统中,一些关键的人机交互工作站,常需要了解并记录所有操作人员操作计算机的情况。如: 在工业控制领域,一些使用计算机对设备进行监视和控制的工作站,需要非常高的可靠性和安全性。在这些工作站上通常要求只能运行系统所要求的应用程序,不能运行与系统无关的程序,同时要求对计算机操作人员的所有原始输入进行记录,以便出现事故(如操作故障、程序异常退出)的时候,用来分析是人为原因,还是系统原因造成的。 基于以上需求,我们必须解决两个问题,一个是如何记录操作人员的输入,另一个是如何控制操作人员的输入。在DOS、Windows 3.1、Windows 95/98中都可以编写响应键盘和鼠标输入的中断处理程序,截取来自键盘和鼠标的输入,记录、分析后依情况分别处理。但是在Windows NT和 Windows 2000中,这样的解决方法将不再行得通,这是因为Windows NT/2000操作系统为了提高系统的可靠性,不再允许应用程序直接对系统设备的底层进行操作。这样,用户的应用程序将不能够对计算机的端口地址进行读写操作,所以在Windows NT/2000操作系统中对计算机端口的读写是无效的。另外一种方法能够非常完美地解决这个问题,就是可以编写操作系统的设备驱动程序来解决,但是要编写系统的设备驱动程序,必须对Windows NT/2000的系统底层以及整个系统架构有比较深入的了解。而且设备驱动程序的编写、调试都比较困难,同时这方面的资料也比较少。所以本文没有采取这种方法,而是采用微软公布的标准Win32 函数和钩子技术来解决这个问题,比较方便而且快捷。 在Windows NT/2000 操作系统中,称各种输入为事件(Event),所有的键盘、鼠标输入事件以及其他事件都是通过消息传递处理机制来得到响应的。控制、监视计算机实际上是控制、监视事件消息流。Windows操作系统为这种应用提供钩子(Hook)技术。这种技术的要点就是在操作系统的消息传递处理机制上外挂一个我们定义的函数,可以使用这个函数来监视、控制系统的事件消息流。本文采用的就是这种方法,这种方法要求将所有的程序代码放入系统可以加载的动态链接库中。下面我们以键盘输入的监视和控制为例详细叙述这种方法。其总体思路如下: 首先,定义自己的钩子函数。 其次,安装自定义的钩子函数,此后钩子函数在后台开始工作。一旦系统发现击键动作或者鼠标动作,系统将马上调用该自定义的钩子函数,并将事件消息传入,供程序分析判断。它可以监视所有的击键和鼠标动作,与DOS 时代的中断调用有非常相似的地方。 最后,卸载自定义的钩子函数。 钩子函数 的定义 微软的钩子技术的原理就是应用程序可以在系统的消息处理机制上外挂一个子程序,在消息尚未到达目的地之前,用该子程序来截获此消息,以进行监视和控制。我们这里使用的是WH_KEYBOARD_LL类型的钩子函数,这种类型的钩子函数可以截获所有的键盘事件,即敲击键盘上的任何一个键,我们自定义的钩子函数都可以知道。该类型钩子函数要求安装自定义的钩子函数必须是以下原型: LRESULT CALLBACK LowLevelKeyboard- Proc( int nCode, WPARAM wParam, LPARAM lParam ); 其中各参数的含义如下: int nCode: 用来决定钩子函数如何处理事件消息的代码,参数的取值为HC_ACTION时,参数wParam、lParam包含了所需的键盘消息事件信息。 WPARAM wParam: 键盘消息事件的`类型ID。该参数有四种可能的消息类型取值:WM_KEY- DOWN,WM_KEYUP,WM_SYSKEYDOWN, WM_SYSKEYUP. LPARAM lParam: 指向一个类型为KBDLLHOOKSTRUCT的结构指针。该结构容纳了底层键盘输入事件的详细信息,它的定义如下: typedef struct tagKBDLLHOOKSTRUCT { DWORD vkCode; //一个范围从1到254的虚拟键码 DWORD scanCode; // 键盘的硬件扫描码 DWORD flags; // 一系列的标志位 //0比特位指示该键是不是扩展键(如: 功能键,或数字小键盘上的键),1表示是,0表示否 //1~3比特位保留 //4比特位用来区分该事件是否来自Win32 函数keybd_event()调用,1表示是,0表示否 //5比特位为状态描述码,如果ALT键按下,该位是1,否则是0。 //6比特位保留。 //7比特位是变换状态位,键被按下为0,键被释放为1。 DWORD time; // 该消息事件的时间标记。 DWORD dwExtraInfo; // 该消息的其他扩展信息。 }KBDLLHOOKSTRUCT, FAR *LPKBDLLHOOK STRUCT, *PKBDLLHOOKSTRUCT; 实际的钩子函数的框架如下: LRESULT CALLBACK MyLowLevelKeyboard Proc(int nCode,WPARAM wParam,LPARAM lParam) { BOOL bSkipThisEvent = FALSE; HWND hwndForeground; HWND hwndFocus; DWORD dwCurrentThreadId; DWORD dwWindowThreadId; if (nCode == HC_ACTION) { PKBDLLHOOKSTRUCT p = (PKBDLLHOOKSTRUCT) lParam; //系统传递来的键盘输入事件信息指针 switch (wParam) { case WM_SYSKEYUP: case WM_KEYUP: //if key up /*这段代码用来获得当前拥有输入焦点的窗口的窗口句柄,以便获得该窗口的相关信息*/ /*获得前端窗口(即用户当前正在工作的窗口)的句柄,创建该窗口的线程通常拥有比其他线程稍微高一些的优先级。*/ hwndForegroud=::GetForegroundWindow(); dwCurrentThreadId=::GetCurrentThreadId(); //当前线程的Id //获得产生前端窗口hwndForeground的线程Id值,用来惟一表示一个线程 dwWindowThreadId=::GetWindowThread- ProcessId(hwndForegroud,NULL); /*下面这一行代码非常重要,它的作用是使当前线程(dwCurrentThreadId)的输入处理机制依附到创建前端窗口的线程(dwWindowThreadId)的输入机制上,否则你将得不到当前拥有键盘输入焦点的窗口句柄。这是因为在Windows NT/2000操作系统通常创建不同的线程来处理相互独立的输入过程,每一个输入过程都拥有自己的输入状态(焦点、键盘状态、队列状态等),通过AttachThreadInput调用,操作系统将允许调用线程获得或者设置其他线程生成窗口的输入状态信息。只有执行该系统调用,才能够得到当前拥有键盘输入焦点的窗口的窗口句柄,否则GetFocus()系统调用将返回NULL。在这一点上Windows NT/2000与Windows 9X操作系统有很大不同,这也正是Windows NT/2000比Windows 95/98 操作系统可靠性、安全性更好的一个原因*/ AttachThreadInput(dwCurrentThreadId , dwWindowThreadId,TRUE); // //获得拥有键盘输入焦点的窗口的窗口句柄 hwndFocus =::GetFocus(); if(hwndFocus || hwndForeground) { char wnm[256]; wnm[0]=0; //变量定义后,使用之前一定要初始化。 //获得该窗口的窗口标题,就是在窗口标题栏上显示的内容 :: GetWindowText(hwndForeground,wnm,255); char clsnm[266]; clsnm[0]=0; //获得该窗口的类名字 :: GetClassName(hwndFocus,clsnm,255); //获得该窗口的风格 LONG style=::GetWindowLong(hwfocus,GWL_STYLE); /*如果你只对部分窗口感兴趣的话,可以通过下面的形式进行过滤, 从而只处理你所感兴趣的某些窗口的输入事件*/ if((stricmp(clsnm,“edit”)==0 ) || (0x0020 &style) || strstr(wnm,“MyTest Wnd”)) {//你可以在此记录供以后分析使用的相关信息 LLKEY_OutputToLog(hwfore,hwfocus,wnm,clsnm,p); } } case WM_KEYDOWN: case WM_SYSKEYDOWN: if (p->vkCode == VK_LWIN)

/*该行代码用来将键盘上的左Win系统键(就是带有微软旗帜图案的那个键,注意是左边的那个)屏蔽掉,如果在代码执行后,用户敲击键盘上的左Win系统键,将不会弹出Windows的开始菜单。你可以根据你的需要屏蔽任何你所要屏蔽的键,从而达到控制计算机使用的目的。*/ bSkipThisEvent = TRUE; break; }end of switch }//end of if if(bSkipThisEvent)//如果是需要屏蔽的键,一定要返回1给操作系统,切记。 return 1; else return CallNextHookEx(NULL,nCode,wParam,lParam); /*调用钩子函数链,以便使其他应用程序能够正常工作*/ } 这里需要注意的是,如果nCode 小于零,钩子函数必须返回CallNextHookEx函数调用的返回值。如果nCode>=0,建议仍然返回CallNextHookEx函数调用的返回值,否则其他安装了WH_KEYBOARD_LL钩子函数的应用程序将收不到系统发送的钩子通知,从而使其他应用程序功能发生异常。不过我们也可以利用系统的这一个特点,来屏蔽一些功能键,禁止某些系统特性,实现控制计算机使用的想法。 安装 钩子函数 接下来的工作就是将我们定义好的钩子函数安装到系统中。用来安装用户自定义钩子函数的Win32函数是SetWindowsHookEx,该函数的原型如下: HHOOK SetWindowsHookEx( int idHook, //将要安装的钩子函数的钩子类型 HOOKPROC lpfn, //我们自定义的钩子函数的函数地址 HINSTANCE hMod, //应用程序的实例句柄,即容纳了钩子函数的动态链接库的句柄。如果钩子函数所在地址空间在当前进程的地址空间,hMod 应该为NULL. DWORD dwThreadId //钩子起作用的线程Id,如果该值为零,则对系统中所有线程都起作用 ); 其中idHook指定了安装的钩子函数的类型,不同类型的钩子函数可完成不同应用功能,而且不同版本的Windows操作系统支持的钩子函数的种类也不尽相同,在本文我们主要介绍的是Windows NT/2000操作系统中目前公开支持的最底层的两种钩子类型:WH_KEYBOARD_LL和WH_MOUSE_LL。这两种类型的钩子函数在Windows NT Services Pack 3及其以后的版本,包括Windows 2000 Professional中得到很好的支持。这两种类型的钩子函数可以分别监视底层的键盘和鼠标输入事件,在系统将事件分发到相应的接收目的地之前将它截获,交给用户自定义的钩子函数来处理。下面以键盘钩子为例详细说明,鼠标钩子与此类似,不再赘谈。 在这里,我们的安装函数和我们定义的钩子函数放在同一个动态链接库中。其中g_hWin32NT_ DllHandle是我们定义的全局变量,类型是Handle,在系统调用动态链接库的入口函数时,将hModule的值赋给g_hWin32NT_DllHandle。 //下面是动态链接库的入口函数 DllMain( HANDLE hModule, DWORD ul_reason_for_call, LPVOID lpReserved ) { g_hWin32NT_DllHandle = hModule; /*保存该值,以后在安装自定义钩子函数的时候要使用该值*/ return TRUE; } //下面的函数用来安装我们自定义的钩子函数 HHOOK g_hhkLowLevelKybd ; //以后在卸载自定义钩子函数时,要用到该值 void StartMyHook(void) { g_hhkLowLevelKybd = SetWindowsHook Ex(WH_KEYBOARD_LL, ::MyLowLevelKeyboardProc, (HINSTANCE)g_hWin32NT_DllHandle, 0); } /*g_hWin32NT_DllHandle是动态链接库的句柄,我们定义的钩子函数放在该动态链接库中。该句柄是在操作系统加载动态链接库时,由操作系统调用DllMain()传入的*/ 如果安装成功,系统调用将返回一个钩子函数的句柄;如果失败,将返回NULL。将来在卸载我们自定义的钩子函数时要使用该句柄。所以必须将返回值保存到一个全局变量中。安装成功后,该函数返回。从现在开始,键盘的任何击键动作都将被我们定义的钩子函数捕捉到,包括各种系统功能键。操作系统在后台将自动异步地调用我们自定义的钩子函数进行处理,并且不会影响任何当前正在进行的各种工作,也不会对系统有任何不良影响。 卸载 钩子函数 当我们的应用程序退出时,或者不再需要钩子函数的处理时,必须卸载我们自定义的钩子函数。 //下面的Win32函数用来卸载我们自定义的钩子函数 UnhookWindowsHookEx(g_hhkLowLevel Kybd); 至此,我们已经比较完整地介绍了底层键盘钩子技术的应用方法,对于鼠标输入事件的控制与监视的方法,与此完全类似,读者可依照本文完成自己的功能。并且在你的应用程序中,可以根据需要,多次安装、卸载钩子函数。 不过有一点读者要注意,就是在程序调试时,一定不要同时将这两种类型的钩子函数都进行设置,因为一旦程序处理上有错误,操作系统将不能获得任何操作消息,计算机只有重新启动。读者可以将本文介绍的方法应用到许多场合,比如在运行某些关键的任务时,为避免人机交互的干扰,可以锁定键盘和鼠标的输入。待任务完成时,再恢复正常的键盘和鼠标的输入。另外,屏蔽某些不想让用户使用的功能键等等。

[留学essay写手]监视、控制计算机的使用http://www.0592w.com/ligong/1829.html

essay辅导替代essay代写-正规代写机构教你怎么写essays范文-Essay写作格式网官方推荐

99.99%的用户同时也查看了:

[多伦多大学经济系essay]多...... 2021-04-02

多数据库系统互联机制的设计与实现华中理工大学计算机学院吴永英李逸李东摘要:随着企业规模的不断扩大,各部......

[随笔essay怎么写]基于GP算...... 2021-04-02

基于GP算法的知识发现系统南京建筑工程学院计算中心李亚非摘要本文提出了一个新的知识发现系统。该系统以遗传编......

[新Sat 的essay范文]浅谈旅游...... 2021-04-02

计算机应用基础课程的教学更多是以项目教学法开展教学,整个项目为一个整体,在精选项目→讲解项目→项目实施......

[essay一天写三千可能么]中...... 2021-04-02

时代在发展,社会在进步,我们已经进入信息化社会。掌握获取信息的能力已经成为一个人应基本具备的素质,而信......

[如何写好的essay]棉业调研...... 2021-04-02

棉花烂铃病是一种多病原引起的复合性病害,既造成棉花减产,又使纤维品质变劣,严重影响棉花高产优质。北方棉......

[fear essay]学员毕业论文:...... 2021-04-02

本人从汽车发动机怠速故进行原因分析。阐述怠速故障的诊断与维修方法。怠速故障是发动机常见故障之一,按照出......

[国外留学如何写essay]别把...... 2021-04-02

别把垃圾浪费掉 你知道吗?我国每年都有价值250亿元的资源被白白浪费了!这些资源既不是石油也不是天然气,更不是高科技产品,而是我们每个家庭每天都在产生的生活垃圾。由于我们没......

[维克森林大学写几篇ess...... 2021-04-02

一、选好课题撰写科技小论文,首先要考虑写什么,也就是课题的选择。选择课题是写好论文的关键。要注意以下原......

[国外的essay 怎么写]中学生...... 2021-04-02

“克隆”这个、词对大家来说想必已经耳熟能详了吧,克隆是英文Clone一词的单译,意为无性繁殖系,即通过无性繁殖......

[1200词essay模版]小学生科技...... 2021-04-02

小学中年级的小学生写的科技小论文人或动物的生存与植物的关系不久前,我们家搬入了现在的新房子。刚搬完家,......

[议论文essay怎么写]对农村...... 2021-04-02

由于农机生产厂家太多,有的规范,有的不规范,还有的是个人加工的,产品在样式、质量上不统一,维修保养也不......

[英文essay查重]浅谈4YW-1型...... 2021-04-02

随着社会经济的发展和科学技术水平的不断提高,农产品收割已由简装的人力收割工具,经历了畜力收割到如今的动......

[美本申请essay有题目吗]单...... 2021-04-02

我们制作的产品就具备了以上的功能,主要运用了时钟芯片DS1302和语音芯片ISD1420,实现系统具有标准显示日历、时钟......

[美国大学介绍自己essay]论...... 2021-04-01

论虚拟存储技术及其在视频网络中的应用中国西部地区电视技术协会2003年年会电视技术论文评比二等奖一、存储需求......

[英国essay和report]视音频素...... 2021-04-01

视音频素材的编码转换2004年度河南省广播电视优秀科技论文一等奖摘要:本文提出了作者在实践中总结出的各种视音......

[cma英文版essay题]浅谈AC-...... 2021-04-01

浅谈AC-3与MPEG-2两种多通道数字音频的选择与比较2004年度河南省广播电视优秀科技论文二等奖摘要:在全世界范围内,......

[国外essay多少钱]图书馆管...... 2021-04-01

摘要图书管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个......

[英国essay代写]网络管理技...... 2021-04-01

网络管理技术及电信管理网的开发李增智蔡伟唐亚哲摘要:网络管理已经成为计算机网络和电信网研究中最重要的内......

[essay美国代写多少钱]网络...... 2021-04-01

网络化:出版信息管理的必由之路【作者】何皓【作者简介】何皓作者单位:武汉大学出版社【正文】一、出版信息......

[怎么写分析论文的essay]发...... 2021-04-01

发挥网络优势是邮政的希望邮政网点遍布全世界,各国邮政部门只有加强合作才能在市场激烈的竞争环境中处于有利......

[essay英语润色]交互电视技...... 2021-04-01

交互电视技术交互电视是数字电视的一种应用。现时的普通电视不但向着高清晰度电视方向发展,同时将发展成可提......

[英语essay代写]视频格式之...... 2021-04-01

视频格式之间的相互转换从20世纪初发明的黑白电视到50时年代出现的彩色电视,以及从模拟时代跨入到数字时代,从......

[早稻田大学国教essay]7与媒...... 2021-04-01

MPEG-7与媒体资产检索1、引言随着电视技术与IT技术的不断融合,以及IT技术日新月异的发展,实现视音频信息的数字化......

[哪里查sat essay分数]数字视...... 2021-04-01

数字视频网络《西部广播电视》2000年第10期发表近几年,随着计算机专业多媒体技术的迅速发展,非线性编辑系统应......

[wind up essay]都市频道制作...... 2021-04-01

都市频道制作网的设计与实现2004年度河南省广播电视优秀科技论文二等奖2000年河南电视台都市频道建立起了第一套非......

[金融专业申请essay范文]都...... 2021-04-01

都市频道新闻制作网扩容及增强系统安全性方案2002中国西部地区电视技术年会优秀论文二等奖河南电视台都市频道现......