




已阅读5页,还剩37页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本科毕业设计(论文)题 目: QQ连连看游戏辅助器 院 系: 计算机科学系 专 业: 软 件 工 程 姓 名: 学 号: 指导教师: 教师职称: 讲 师 填写日期: 2011年05月20日摘 要辅助器是指某些人利用自己的电脑技术专门针对一个或多个网络游戏,通过改变网络游戏软件的部分程序,制作而成的作弊程序。现在随着游戏官方对辅助器的抵制,游戏本身也有了超强的自动检测辅助器的功能,但制作辅助器的技术也不断提高着,现在最流行的就是在游戏中用封包和抓包工具对游戏服务器提交假的数据从而改变游戏人物能力。 另外,辅助器也指:单位形的作战武器系统在其原本的作战单位上添加附加的用于辅助作战单位作战的工具、器具。关键词:网络游戏;程序;抓包工具贵阳学院毕业论文(设计)AbstractAuxiliary program is that some people use their computer skills specifically for one or more online games, online games software by changing the part program, produced by the cheats.Now, with the game official plug-in resistance, the game itself also has superior features auto-detection plug-in, but the production plug-in technology is also rising significantly, is now the mostpopular game using packets and packet capture tools for game server Submitted false data to change the ability of game characters. In addition, the plug-in also means: flat-shaped weapon systems in their original combat units to add additional units for combat operations supporting tools, appliances.Keywords:Online games; procedures; packet capture tools目 录摘 要IAbstractII第一章 绪论1第一节 研究的背景1第二节 研究的目的和意义1一、QQ连连看辅助器的必要性1第三节 相关软件及技术介绍1一、Visual C+6.0概述1二、OllyICE概述2三、Cheat.Engine.V5.4.简体中文版概述2第二章 需求分析3第一节 需求描述3一、用户需求3二、功能需求3三、非功能性需求3第二节 软件运行流程分析4第三节 UML系统建模4第三章 辅助器设计6第一节 辅助器总体设计6一、项目规划6二、辅助器功能结构图6三、辅助器结构分析7第二节 系统详细设计7一、程序流程图8二、主要功能模块界面设计8第四章 QQ连连看游戏的分析10第一节 相应参数的测试10一、游戏棋盘基址的测试10二、游戏剩余方块基址的测试14三、游戏剩余时间基址的测试14四、开局坐标的获取15第五章 编码的设计与实现18第一节 界面与功能设计18一、辅助器界面运行结果18二、关于QQ连连看辅助器19三、开局功能设计19四、自动开局设计20五、单消功能设计21六、秒杀功能设计22七、自动挂机功能设计22八、去掉游戏倒计时功能设计23第六章 系统运行测试24一、软件测试的定义24二、软件测试的分类24三、软件测试的步骤24四、测试用例26五、测试结果26结束语28致 谢29参考文献30附 录3137第一章 绪论第一节 研究的背景现实生活的巨大压力和日渐压缩的生存空间让如今的孩子和青年惴惴不安,并不是所有的人都拥有勇气去面对残酷的生活和现实,在这个浮燥的社会里,在这个信仰缺失的年代,将已经迷失的自我和对于未来的盲目寄托于虚拟的生活当中,麻痹、麻木、消耗.直到被唤醒或者继续沉沦。第二节 研究的目的和意义一、QQ连连看辅助器的必要性随着计算机及网络技术的飞速发展,网络游戏更是铺天盖地、日新月异、蒸蒸日上,而网络辅助程序也是如火如荼,似乎网络辅助程序与网络游戏的争端从有网络游戏就开始了,越是玩家聚集的游戏其辅助程序现象就越是严重,游戏辅助软件的多挂已经成为评价一个网络游戏成功与否的标准。据有关部门统计QQ连连看游戏日平均在线人数30万人。第三节 相关软件及技术介绍一、Visual C+6.0概述Visual C+ 6.0,简称VC或者VC6.0,是微软推出的一款C+编译器,将“高级语言”翻译为“机器语言(低级语言)”的程序。Visual C+是一个功能强大的可视化软件开发工具。自1993年Microsoft公司推出Visual C+1.0后,随着其新版本的不断问世,Visual C+已成为专业程序员进行软件开发的首选工具。虽然微软公司推出了 Visual C+.NET(Visual C+7.0),但它的应用的很大的局限性,只适用于Windows 2000、Windows XP和Windows NT4.0。所以实际中,更多的是以Visual C+6.0为平台。 VC+6.0Visual C+6.0不仅是一个C+ 编译器,而且是一个基于Windows操作系统的可视化集成开发环境(integrated development environment,IDE)。Visual C+6.0由许多组件组成,包括编辑器、调试器以及程序向导AppWizard、类向导Class Wizard等开发工具。 这些组件通过一个名为Developer Studio的组件集成为和谐的开发环境。二、OllyICE概述OllyICE的1.10是一个股32位汇编级的分析调试器,有微软Windows的直观的界面。它预测寄存器的内容,确认程序, API调用,开关,表,常量和字符串,对象文件和库,允许自定义标签和评论,主要是实现程序的反汇编、加密、解密、破解 、静态解析、调试等功能。OllyICE的1.10是一个股2位汇编级的分析调试器三、Cheat.Engine.V5.4.简体中文版概述Cheat Engine是一款内存修改编辑工具 ,它允许你修改你的游戏内存,所以你将得到其他人没有的功能。它包括16进制编辑,反汇编程序,内存查找工具。与同类修改工具相比,它具有强大的反汇编功能,且自身附带了外挂制作工具,可以用它直接生成外挂。第二章 需求分析第一节 需求描述一、用户需求QQ连连看游戏辅助程序对上网放松的必然性,整天的劳累,使客户在游戏时不被积分所迫,而去费力的去游戏,在累时可以缓解游戏带来的压力。 软件的易用性:要求软件应该尽量使用用户熟悉的术语和中文信息的界面,界面简单而实用。二、功能需求通过对QQ连连看游戏客户的调查研究,要求系统具有以下功能:q 自动开局功能。游戏辅助器要动运行的话,我们分析就要有自动开局功能。q 单消功能。最主要是实现模拟人的点击,实现单消。q 秒杀功能。为的是在紧急关头实现瞬间把全部方块消完q 消除剩余时间功能。当人们在玩的时候,想自己玩,又不想自动挂机让其单消,那么我们就需要一个消除剩余时间功能。q 自动动单消功能及时间的设置。当人不在电脑边上时,我们就要有自动消的功能,就是自动挂机功能。三、非功能性需求系统的运行对运行环境有一些要求:(一)硬件环境:目前我们所开发的软件主要是普通用户使用,因此,一般配置的计算机硬件就可以满足系统需求。最底硬件配置为:1、处理器:AMD 3200+或更高。2、内存:256MB或更高。3、硬盘空间:40GB。4、显卡:AVG显示适配器。(二)软件环境:1、操作系统:Windows SP3或Windows 7。2、QQ游戏:2010版。第二节 软件运行流程分析程序运行流程,又称作业流程,即作业的完成程序,它反映了现实的运行活动。管理运行流程图是一种描述程序间的关系、作业顺序的图表。程序运行流程是客户在游戏过程中产生的,并且支撑着系统的正常运行。 首先客户运行QQ连连看游戏,再是行游戏辅助程序,再进行辅助程序设置,就可以开始游戏。QQ连连看游戏辅助程序运行流程图如图3.1所示。图2.1 程序运行流程图第三节 UML系统建模统一建模语言(Unified Modeling Language)是一种直观化、明确化、构建和文档化软件产物的通用建模语言,它是由Rational软件公司世界级知名专家GradyBooh、IvarJacobson和Jim Rumbaugh 3人联合开发出来的。在开发过程中,得到了其他一些学术领先的方法论学者、软件产商及众多用户的帮助和支持。在Booch标记法、OMT标记法及OOSE/Jacobson标记法得到广泛应用的基础上,UML将面向对象的分析设计技术又向前推进了一大步。QQ连连看游戏辅助程序用例图如图3.3所示。图2.3 QQ连连看游戏辅助器用例图由图2.3可见,该用例图包含3个用例,1个参与者。用例的编号和名称是:1、查看信息2、设置信息、3、运行游戏。参与者的名称是:客户。第三章 辅助器设计软件设计是管理信息软件开发的第二阶段,是根据软件调查与分析的结果,在已获准通过的软件说明书的基础上进行新软件的设计. 软件设计包括两方面:一、辅助器总体结构设计:即把软件的功能分解成许多基本的功能模块,确定它们之间的联系,规定它们的功能和处理流程.也称概要设计。包括如下工作:(一)系统功能结构的划分(二)系统环境的配置(三)确定系统的计算机处理流程二、具体的物理设计:即对实现系统的各项功能,选择具体的技术手段和处理方式.为各个具体任务选择适当的技术手段和处理方法,即详细设计包括如下工作(一)代码设计(二)界面设计第一节 辅助器总体设计一、项目规划网上客房预订系统是一个典型对话框应用程序,由一个界面组成,规划软件功能模块如下:界面主要功能是自动开局功能、单消功能、秒杀功能、去游戏倒记时功能、自动动单消功能及时间的设置。二、辅助器功能结构图QQ连连看辅助器功能结构图,如图3.1所示。图3.1辅助器功能结构图三、辅助器结构分析本辅助器是针对QQ连连看游戏服务介绍进行设计的,主要包含以下功能模块:1、开局功能:主要用于游戏的开局。2、自动开局功能:主要是用于游戏结束并重新开始。3、单消功能:用于客户自定消除。4、秒杀功能:用于瞬间消去全部功能。5、去游戏倒记时功能:用于去掉游戏倒记时。6、自动动单消功能及时间的设置:用于自动按设定的时间间隔消除方块。第二节 系统详细设计一、程序流程图依据详细设计阶段的根本任务是确定应该怎样具体实现所要求的系统,经过这个阶段的设计工作,应该得出对目标系统的精确描述,从而在系统实现阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序。主程序的单消功能流程图如图3.2所示。图3.2 主程序的单消功能流程图二、主要功能模块界面设计(1)QQ连连看辅助器:有开局、单消、秒杀按钮;有游戏窗口置顶、自动开局、去游戏倒计时、自动挂机、挂机速度调节复选框;还有一个个时间选择滑块。如图3.3为QQ连连看辅助器界面的设计图。图3.3 QQ连连看辅助器第四章 QQ连连看游戏的分析第一节 相应参数的测试一、游戏棋盘基址的测试首先,运行Cheat.Engine.V5.4.简体中文版。如图4.1为CE(Cheat.Engine.V5.4.简体中文版)界面。图4.1 CE运行界面在是将QQ连连看游戏附加进CE程序。如图4.2为QQ连连看游戏附加进CE。图4.2为QQ连连看游戏附加进CE QQ连连看游戏的方块数量是11*19格,值小于256,因为游戏设计都为了尽量减少数据的量,设计者会尽量用小的数据类型的变量,则游戏棋盘块数据大小可能为1个字节。另再是设置CE界面。如图4.3为CE选项设置。图4.3为CE选项设置棋盘左上角没有方块,因为游戏设计者一般将其设为空“0”,所以测试如图4.4 CE测试图。图4.4 CE测试图最终测试结果如下图4.5 CE测试结果。图4.5 CE测试结果 将QQ连连看游戏进程附加入OD(OllyICE),如图4.6游戏进程附加进OD。如图4.6游戏进程附加进OD 测试得到与与棋盘相关的基址。如图4.7 QQ连连看游戏附加进CE。图4.7 QQ连连看游戏附加进CE测试基址为0012A480。二、游戏剩余方块基址的测试 用与测试基址相同的方法,测试得到剩余方块有两个结果如图4.8游戏剩余方块数量。图4.7游戏剩余方块数量 进一步分析,分析结果如图4.8游戏剩余方块数量图4.8游戏剩余方块数量 测试游戏剩余方块数量基址为001163B0。三、游戏剩余时间基址的测试用与测试基址相同的方法,测试得到结果如图4.9游戏倒记时。图4.9游戏倒记时 确认分析,将时间值改为0,游戏可以继续运行,但是游戏没有了倒计时。如下图4.10游戏倒计时。图4.10游戏倒计时四、开局坐标的获取 运行Microsoft Spy+,选定WM_LBUTTONDOWN WM_LBUTTONUP消息,如图4.11 Spy+选项设置。图4.11 Spy+选项设置 点击开局按钮,测得消息如图4.12消息图。 图4.12消息图消息详细信息,如图4.13详细坐标图。如图4.13详细坐标图测得开局坐标:X=694,Y=571。第五章 编码的设计与实现第一节 界面与功能设计一、辅助器界面运行结果辅助器运行结果如图5.1所示。 图5.1 辅助器运行结果 为了方便读者阅读本章内容,界面控件说明以列表形式给出,如表5.1所示。 表5.1界面控件解析ID类型说明相应类向导关联的变量IDC_BUTTON1按钮类型IDC_BUTTON4按钮单消IDC_BUTTON5按钮秒杀IDC_CHECK4复选框游戏窗口顶置m_chessdataIDC_CHECK2复选框自动开局m_autostartIDC_CLEARTIMER复选框去游戏倒计时m_ctl_cleartimeIDC_CHECK1复选框自动挂机m_autoplayIDC_CHECK3复选框挂机速度调节m_sliderenableIDC_EDIT3编辑框m_numIDC_SLIDER1滑块m_sliderNunm_ctl_sliderIDC_STATIC静态文本毫秒IDC_STATIC静态文本贵阳学院计算机科学系软件工程专业学习交流二、关于QQ连连看辅助器关于QQ连连看辅助器运行结果如图5.2。 图5.2关于QQ连连看辅助器用户可以通过功能分类导航条查看相应类别的信息,功能分类导航条主要通过传递参数来实现超链接。三、开局功能设计定义常量:const PCHAR gameCaption=QQ游戏 - 连连看角色版;HWND gameh;RECT r1;POINT p;/x,y 在开局按钮下添加代码如下:void CLlk_wgDlg:OnStartGame() startGame();startGame()函数的定义如下:void startGame()gameh=:FindWindow(NULL,gameCaption); /获取游戏窗口句柄:GetWindowRect(gameh,&r1); /保存当前鼠标指针GetCursorPos(&p); /取得当前鼠标位置/设置鼠标指针位置 取开局所在坐标:x=694;y=571 /lparam 0x0241028fSetCursorPos(694+r1.left,571+r1.top); /模拟鼠标的 单击(鼠标按下/鼠标抬起)/MOUSEEVENTF_LEFTDOWN Specifies that the left button is down. /MOUSEEVENTF_LEFTUP mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0); /鼠标在当前位置按下mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);/鼠标在当前位置抬起mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);/还原鼠标位置Sleep(4);/过一段时间 再执行后边的代码 SetCursorPos(p.x,p.y);四、自动开局设计自动开局函数代码如下:void CLlk_wgDlg:OnCheck2() / TODO: Add your control notification handler code hereUpdateData(true);/更新窗口内容至变量/自动开局if (m_autostart)SetTimer(STARTID,4*1000,&strartproc); elseKillTimer(STARTID);自动开局函数中的回调函数如下:VOID CALLBACK strartproc( HWND hwnd, / handle of window for timer messages UINT uMsg, / WM_TIMER message UINT idEvent, / timer identifier DWORD dwTime / current system time) HWND gameh=:FindWindow(NULL,gameCaption); /AfxMessageBox(Findwindow);if (gameh=0) return; /没有找到游戏窗口/让游戏窗口置顶if (gametop) SetWindowPos(gameh,HWND_TOPMOST,0,0,0,0,SWP_NOMOVE | SWP_NOSIZE | SWP_SHOWWINDOW); else SetWindowPos(gameh,HWND_TOP,0,0,0,0,SWP_NOMOVE | SWP_NOSIZE | SWP_SHOWWINDOW); DWORD pid;:GetWindowThreadProcessId(gameh,&pid);long flag,byReadSize;HANDLE hp=OpenProcess(PROCESS_ALL_ACCESS,false,pid);:ReadProcessMemory(hp,(LPCVOID)(0x001163B0),(LPVOID)(&flag),4,(LPDWORD) (&byReadSize);/如果内存0x001163B0中的方块数为0则自动开局if (byReadSize=0) AfxMessageBox(未成功读出数据);if (flag=0)&(byReadSize0) startGame(); /自动开局五、单消功能设计单消按钮下的代码如下:void CLlk_wgDlg:OnButton4() / TODO: Add your control notification handler code hereClearPiar();/消除一对棋子函数消除一对棋子函数代码如下:bool ClearPiar() /消除一对棋子 /读出棋盘数据至chessdata 11,19 updatdChess();/updatdChess();函数见附录/遍历整个棋盘 找出相同类型 一对棋子 POINT p1,p2; int x1,y1,x2,y2; for (y1=0;y111;y1+)for (x1=0;x119;x1+) for (y2=y1;y211;y2+) for (x2=0;x219;x2+) if (chessdatay1x1=chessdatay2x2) / 棋子1与棋子2 类型是否相同 &(!(x1=x2)&(y1=y2) /要求点1与点2 相等则假 p1.x=x1;p1.y=y1; p2.x=x2;p2.y=y2; /检测 相同的2个棋子是否可消掉 if ( Check2p(p1,p2)/如果可消除 则返回真。Check2p(p1,p2)见附录 /click2p 鼠标模拟 点击 p1,p2 Click2p(p1,p2); return true; return false;六、秒杀功能设计秒杀的代码如下:void CLlk_wgDlg:OnClearAll() int chessnum=ReadChessNum();/Click2p(POINT p1,POINT p2)函数见附录while (chessnum!=0)ClearPiar(); /Sleep(1); /0x001163B0 棋子数=0时退出chessnum=ReadChessNum();七、自动挂机功能设计1、自动单消代码如下:void CLlk_wgDlg:OnCheck1() / TODO: Add your control notification handler code hereUpdateData(true);/更新窗口内容至变量/自动挂机if (m_autoplay) SetTimer(PLAYID,m_num+80,&playproc); else KillTimer(PLAYID); 2、Playproc(hwnd, uMsg, idEvent, dwTime)函数代码如下:VOID CALLBACK playproc( HWND hwnd, / handle of window for timer messages UINT uMsg, / WM_TIMER message UINT idEvent, / timer identifier DWORD dwTime / current system time) ClearPiar(); /ClearPiar()函数见附录八、去掉游戏倒计时功能设计去掉游戏倒计时函数代码如下:void CLlk_wgDlg:OnCleartimer() if (ClearCode() m_ctl_cleartime.EnableWindow(false); /禁用它else m_ctl_cleartime.SetCheck(false);第六章 系统运行测试一、软件测试的定义软件测试是动态查找程序代码中的各类错误和问题的过程。“程序测试是为了发现错误而执行程序的过程”。根据这一定义,测试的目的与任务可以描述为:1、目的:发现程序的错误2、任务:通过在计算机上执行程序,暴露程序中潜在的错误。另一个与测试相关的术语是纠错,它的目的与任务可以规定为:1、目的:定位与纠正错误。2、任务:消除软件故障,保证程序的可靠运行。纠正和错误的关系,可用图6.1的数据流图来说明。图中表明,每一次测试都要准备好若干必要的测试数据,与被测程序一起送入计算机执行。图6.1 纠正和错误信息流程二、软件测试的分类测试是一个执行程序的过程,即要求被测程序在计算机上运行。其实,不执行程序也可以发现程序的错误。为便于区分,一般把前者称为动态测试,后者称为静态分析。静态分析就是通过对被测程序的静态审查,发现代码中潜在的错误。它一般用人工方式脱机完成,故亦称人工测试或代码评审。动态测试也可以分为两类。一类把被测程序看成一个黑盒,根据程序的功能来设计测试用例,称为黑盒测试;另一类则根据北侧程序的内部结构设计测试用例,测试者需首先了解被测程序的结构,故称为白盒测试。 三、软件测试的步骤测试过程必须分步骤进行,每个步骤在逻辑上是前一个步骤的继续。大型软件系统通常由若干个子系统组成,每个子系统又由许多模块组成。因此,大型软件系统的测试基本上由下述4个步骤组成,单元测试、集成测试、确认测试和系统测试。如图 6.2所示:图6.2 测试步骤(一)单元测试单元测试时层次测试的第一步,也是整个测试的基础。对于多模块的测试从单元测试开始,至少有以下好处:减少测试的复杂性;易于确定错误的位置(不超过一个模块);多个单元可以并行测试,缩短测试周期。单元测试的实施步骤可以简述为:编译-静态分析器检查-代码评审-动态测试。(二)集成测试通过了单元测试的模块,要按照一定的策略组装为完整的程序。在组装的过程中进行的测试为集成测试或组装测试。集成测试的策略,可以分为自顶向下、自底向上以及从两头逼近的混合方式等3种。这3种策略都是从一个模块开始,测一次填一个模块,使组装程序像滚雪球一样越滚越大,所以统称为渐增式测试。(三)确认测试确认测试续集成测试之后进行,其目的在于确认组装完毕的程序是否满足软件需求规格说明书的要求典型的确认测试通常包括有效性测试(黑盒测试)和配置复审等内容。确认测试是由软件开发单位组织实施的最后一项开发活动。测试结束后,软件就要交付验收了。因此开发单位必须十分重视这项工作。同集成测试一样,确认测试也应由独立的测试小组负责实施。如果软件是给一个客户开发的,需要进行一系列的验收测试来保证客户满足所有的需求。验收测试主要由用户而不是开发者来进行,可以进行几个星期或者几个月,因而可发现随时间的积累而产生的错误。 (四)系统测试系统测试是将软件系统与硬件、外设和网格等其他因素结合在一起,进行信息系统的各种组装测试和确认测试,其目的是通过于系统的需求相比较,发现所开发的系统与用户需求不符或矛盾的地方。常见的系统测试主要有恢复测试、安全性测试、强度测试、性能测试、可靠性测试和安全性测试。四、测试用例设计测试用例和纠错,是搞好软件测试的两项关键技术。选择测试用例的目标,是用尽可能少的测试数据,达到尽可能大的程序覆盖面,发现尽可能多的软件错误和问题。单元测试应该以结构测试为主,其余测试一般以功能(黑盒)测试为主。发现程序错误,应进行定位与纠正。定位事一个分析与推理的过程,应提倡周密的思考。根据QQ连连看辅助器设计测试用例,采用黑盒测试(功能测试)的等价分类法。如下表6.1 功能用例。表6.1 功能用例功能用例开 局自动开局单 消秒 杀去掉时间调节滑块游戏顶置五、测试结果(一)开局测试、自动开局 测试结果正常,能实现开局作用,能实现自动开局作用(二)单消、秒杀测试结果,单消、秒杀正常。结果如图6.1秒杀前效果与如图6.2 秒杀效果。图6.1秒杀前效果图6.2 秒杀效果结束语在做毕业设计过程中,我碰上了许多问题。开始设计时候,没有养成边设计边写文档的习惯,在后来的设计其它模块和调试中带来很多的不便,功能模块之间的联系,记得模糊,使我要从新需求分析、设计、调试;降低项目开发的效率。对C+与汇编语言的不熟悉,导致花费大量时间去熟悉语言环境。代码设计过程中,没有进行优化,这样就增加了编程的工作量和代码的可读性不高。软件工程的一套方案为软件项目开发与设计带来便捷,开始时候没有好好的利用它。在做毕业设计过程中,使我认识到开发一项好的软件不是由一个人就能完成的任务。一个团队的小组,一个勤奋的小组非常重要,小组协作与沟通是解决问题的好办法,所以小组中的每个成员的能力与协作能力也是致关重要的。同时,不仅是团队内部的交流,更多需要协调好团队之间的交流。在做毕业设计过程中我了解了,在开发一个项目时一定要先做好规划,按照软件的开发过程,详细地写好每一个必要的文档。一般的规则是,写文档需要团队协作,这样就允许开发人员和文档编写者利用彼此的长处,取长补短。例如,如果预期读者是系统设计师,开发人员需要提供技术细节,然后文档编写者按照正确语法组织和编辑内容。软件文档的最主要目标是传达一个系统的技术要素和使用方法。第二个目标是提供软件开发过程中的需求,决策,行为,角色和责任的书面记录。只有实现了这两个目标,软件文档才真正提供了有意义的信息。软件的概念就是:程序+文档,程序就是文档,文档集成在程序中。它要求在选择开发环境时不仅要考虑环境对设计、开发的完美支持,而且要考虑对维护、文档的支持;它要求软件人员在设计、开发过程中要考虑维护问题、文档问题;它要求程序与文档存储在同一位置、同一系统中;它要求使用相同工具进行程序与文档的书写、检索;它要求在编写和维护程序的同时形成文档,在书写文档时编写、维护程序。程序与文档合一的概念不仅存在于系统的设计、开发阶段而且存在于系统的维护阶段,它贯穿软件的生命周期。致 谢经过几个月的努力,我终于完成QQ连连看辅助器的设计,同时,也让我学到了在课堂上学不到的体验。就是在完整的做完一个软件项目,从中学到了软件开发的一些经验,比如数据库与前台数据库的连接技巧,充分的利用数据库的视图、序列、存储过程和函数等,这样就会减轻你前台的需求分析、设计、编程的工作量。并使你的软件项目的清晰明了,功能明确。软件设计是一个精细漫长的过程。在整个过程中,都需要周密的计划和安排,每一步骤,都需要按照软件工程标准来完成。在设计中,我始终坚持理论指导实践原则,并通过实践来加强理论的学习,通过实习锻炼,我熟悉了软件的一般过程,加强了对实际问题的处理能力。实践证明,在高科技突飞猛进的时代,光靠课堂所学的知识是远远不够的,必须依靠实践去不断的深化认识,尤其是计算机科学,操作性和实践性很强,只有加强实际的动手能力,才能更好的掌握这一现代化工具。这次的毕业论文设计实习,无论是从技术上还是对环境的适应能力上讲,对我今后步入社会都打下了一个良好的基础。在实习过程中,我也遇到了一些困难,主要表现了技术和经验的欠缺,但通过努力,终于一一克服了。在整个期间,曾得到张军老师以及同组同学的大力支持和帮助,在此表示衷心的感谢!参考文献1 孙鑫编著. Visual C+深入详解. 北京:电子工业出版, 20102 张忠帅编著.VC+2008开发实例精讲. 北京:电子工业出版社, 20083 明日科技编著. Visual C+开发典型模块大全. 北京:人民邮电出版社, 20094 欧阳志宏,董霖,钟俊华编著. MFC程序设计. 北京:人民邮电出版社, 20095 王浩编著. Visual C+游戏开发经典案例详解. 北京:清华大学出版社, 20106 韦朴,陈泰生. Visual C+通用范例开发金典. 北京:电子工业出版社, 20097 郁金香编著. Visual C+外挂编程. 北京:电子工业出版社, 2010附 录一、软件函数代码1、updatdChess()函数代码如下:void updatdChess() /更新棋盘数据至 chessdata/ TODO: Add your control notification handler code here/获取窗口句柄HWND gameh=:FindWindow(NULL,gameCaption);/获取窗口进程IDDWORD processid;:GetWindowThreadProcessId(gameh,&processid);/打开指定进程HANDLE processH=:OpenProcess(PROCESS_ALL_ACCESS,false,processid);/读指定进程 内存数据 DWORD byread;LPCVOID pbase=(LPCVOID)0x0012A480; /棋盘数据基址LPVOID nbuffer=(LPVOID)&chessdata; /存放棋盘数据:ReadProcessMemory(processH,pbase,nbuffer,11*19,&byread);2、Click2p(POINT p1,POINT p2)函数代码如下:bool Click2p(POINT p1,POINT p2) /点击p1HWND hwnd=FindWindow(NULL,gameCaption); int lparam; lparam=(p1.y*35+192)16)+(p1.x*31+21);SendMessage(hwnd,WM_LBUTTONDOWN,0,lparam);/SendMessage(hwnd,WM_LBUTTONUP,0,lparam);/ /点击p2lparam=(p2.y*35+192)16)+(p2.x*31+21);SendMessage(hwnd,WM_LBUTTONDOWN,0,lparam);/SendMessage(hwnd,WM_LBUTTONUP,0,lparam);/return true;3、ReadChessNum()函数如下:int ReadChessNum() /更新棋盘数据至 chessdataHWND gameh=:FindWindow(NULL,gameCaption); /获取窗口句柄DWORD processid;:GetWindowThre
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年智能仓储物流自动化系统在香料行业的可行性研究
- 2025年智能仓储机器人协同作业技术创新在智能仓储与智能仓储设备租赁效益评估中的应用报告
- 医院手卫生考试题及答案
- 《一个数除以小数》(教学设计)-2024-2025学年人教版数学五年级上册
- 中建桥梁考试题库及答案
- Lesson 2 Kenjis family 教学设计-2025-2026学年中职基础课-新模式英语(2)-劳保版-(英语)-52
- 玩一玩 小雪花教学设计-2025-2026学年小学音乐沪教版二年级上册-沪教版
- 网络安全培训工作报告课件
- 中国舞六级考试题及答案
- 中国模拟考试题目及答案
- 9.18事变防空演练方案3篇2025
- 急性心肌梗死病人护理
- 2025年充换电站项目建议书
- 文旅公司考试试题及答案
- 成都银行招聘考试真题2024
- 专利代理培训课件
- 人教版(PEP)(2024)英语四年级上册2025-2026学年教学计划
- 浙江省名校协作体2025-2026学年高二上学期开学联考英语试卷(PDF版含答案含听力原文无音频)
- GJB3243A-2021电子元器件表面安装要求
- 电焊机安全知识培训课件
- 2025年麻醉、第一类精神药品管理培训考核试题及答案(护士卷)
评论
0/150
提交评论