欢迎来到天天文库
浏览记录
ID:11391362
大小:142.00 KB
页数:12页
时间:2018-07-11
《键盘监听程序课程设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、目录目录1一设计目的2二设计内容2三设计要求2四设计过程21、窗口函数程序实现的步骤22、消息循环43、编写窗口过程函数54、自启动模块设计65、定时发送邮件模块设计66、程序流程图8五设计总结9参考文献9共12页第12页一设计目的通过本次课程设计,设计一个键盘监听程序,系统启动后自动记录所有键盘信息的功能,能够记录键盘的输入值,且该程序具有自动启动功能,并能够定期通过网络给某人的指定的邮箱发送所记录的信息。二设计内容1、题目分析,查找资料和总体设计。2、详细设计、代码编制、程序调试。系统功能要求如下:模块一该部分通过设计一个窗口,并在窗口中响应键盘消息,记录键
2、盘的相关按键记录,实现键盘监听的功能。模块二该部分通过对注册表的修改,将该程写入注册表,实现该程序的随系统的启动而启动。模块三该部分通过调用系统的定时函数,实现邮件的定时发送。3、结果分析、完成课程设计报告。三设计要求1、学生能够较深入的理解网络编成的设计方法,并在所要求的设计时间内,利用自己所熟悉的语言完成本题目的程序编制。2、程序要能正确运行,完成预功能。3、要求设计清晰、美观的用户界面,当操作出错时,程序要有出错提示信息。4、上交设计报告。重点阐述程序的有关算法说明、程序的流程图以及子程序的功能和参数的说明及程序代码。四设计过程1、窗口函数程序实现的步骤(
3、1)WinMain函数的定义WinMain函数的原型声明如下:intWINAPIWinMain(HINSTANCEhInstande,HINSTANCEhPrevInstance,LPSTRIpCmdLine,IntnCmdShow);共12页第12页WinMain函数接收4个参数,这些参数都是在系统调用WinMian函数时,传递给应用程序的。第一个参数hInstance表示该程序当前运行的实例的句柄。第二个参数hPrevInstance表示当前实例的前一个实例的句柄。第三个参数IpCmdLine是一个以空终止的空符串,第四个参数nCmdShow指定程序的窗口应
4、该如何显示。(2)创建一个窗口设计一个窗口类一个完整的窗口有许多的特征,包括光标、图标、背景色等。因此在创建一个窗口之前,要对该类型的窗口进行设计,指定该窗口的相关特征。Windows为我们定义了一个窗口所应该有的基本属性。在此次的程序中,运用了wndClass这样一个函数,来实现窗口属性的设置。其中的第二个成员变量IpfnWndProc是一个函数指针,指向窗口过程函数,窗口过程函数是一个回调函数。回调函数在特定的事件或条件发生时由另外一方调用的,用于对该事件或条件进行响应。(3)注册窗口类调用RegisterClass函数对窗口进行注册,注册成功后才能创建该类
5、型的窗口。具体实现如下:RegisterClass(&wndClass);(4)创建窗口设计好窗口并且将其注册成功后,就可以用CreateWindow函数产生这种类型的窗口了。其函数的原型声明如下:HWNDCreateWindow(LPCTSTRlpClassName,//registeredclassnameLPCTSTRlpWindowName,//windownameDWORDdwStyle,//windowstyleintx,//horizontalpositionofwindowinty,//verticalpositionofwindowintnWi
6、dth,//windowwidthintnHeight,//windowheightHWNDhWndParent,//handletoparentorownerwindowHMENUhMenu,//menuhandleorchildidentifierHINSTANCEhInstance,//handletoapplicationinstanceLPVOIDlpParam//window-creationdata共12页第12页);(5)显示及更新窗口其中,显示窗口通过ShowWindow函数实现。更新窗口通过UpdateWindow函数实现。到此,一个窗口函数
7、的创建就算完成了。2、消息循环(1)编写一个消息循环,不断的从消息队列中取出消息,并进行响应。要从消息队列中取出消息,我们需要调用GetMessage()函数。通常的消息循环函数的代码如下:while(GetMessage(&msg,NULL,0,0))//消息循环{TranslateMessage(&msg);//虚拟键消息转换为字符消息DispatchMessage(&msg);//消息回传给操作系统}GetMessage函数只有在接收到WM_QUIT消息时,才返回0。此时while语句的判断条件为假,循环退出,程序才能结束运行。在没有接收到WM_QUIT消
8、息时,Windows应用
此文档下载收益归作者所有