1、进程管理器课程设计进程管理器课程设计 题目:进程管理器 目录目录 一、需求与功能分析. 3 二、系统总体框架 4 2.1 系统框架图 . 4 2.2 各功能模块的详细说明. 4 三、模块设计与分析. 5 31 获取进程模块. 5 3.2 启动新进程模块 6 3.3 终止进程模块 . 8 3.4 退出模块. 10 四、类的设计与分析. 11 4.1、CShowAllProcessApp 类 . 11 4.2 CaboutDlg 类 . 11 4.3、CshowAllProcessDlg 类 12 4.4、CSXButton 类 13 六、功能测试 15 七、存在的不足与对策 . 18 八、程序源
2、代码 19 一、需求与功能分析一、需求与功能分析 我们的电脑需要我们去了解它的运行状况,掌握和管理它的进程,并对其异 常情况给予操作和控制, 进程管理器就像是我们了解和控制自己电脑运作的一个 窗口,通过这个窗口我们可以了解到电脑所有进程运行状况,并对运行的进程加 于管理和控制,正如在本实验中,启动进程管理器后,可以通过”获取进程”功能 来获得本计算机启动的进程,以及与该进程相关的信息,其中包括的信息有:进 程映像名称,进程开启的线程数,进程的 PID 以及进程的优先数,我们可以通 过这些信息来了解计算机中每个进程的使用状况。 同时我们可以在进程管理器上 选中一个要终止的的进程,点击“终止进程”
3、功能按钮,该进程被终止执行并退出 进程列表,其中还包括了自动刷新的功能,此按钮实现的功能正如我们电脑任务 管理器的 “进程”功能,当电脑执行程序不能通过关闭窗口进行正常的关闭时, 可以借助此办法来关闭进程。我们还可以通过这个进程管理器来启动新的进程, 当我们要在进程管理器里启动新的进程时,只要点击“启动新进程”按键,则会弹 出“打开进程”对话框,我们可以通过对话框里的“浏览”窗口选择要打开的新进 程,这是任务管理器里没有实现的功能,通过这个功能我们在管理计算机时变得 更加灵活方便,也使进程管理的功能更加完善。在退出此进程管理器时候,只要 选择“退出”功能按钮则可关闭进程管理器,快速退出管理器的
4、界面。本管理器设 计比较简洁,操作灵活,使用简单,可以为我们管理和控制计算机的进程提供了 一个简便的方法,是我们控制本计算机进程和了解计算机进程情况的良好助手。 二、系统总体框架二、系统总体框架 2.1 系统框架图系统框架图 本系统设计比较简洁,用 MFC 来做界面,实现了四个功能,显示四类与 进程相关的信息,具体的总体框架图如图 1 所示: 图 1 总体框架图 2.2 各功能模块的详细说明各功能模块的详细说明 本系统实现了四大功能,分别包括了:获取进程、启动新进程、终止进程和 退出管理器,各功能模块的详细说明如下: (1)获取进程。点击获取进程后,它能自动获取计算机的所有进程,并显 示进程的
5、相关信息,其中包括的信息有:进程映像名称,进程开启的线程数,进 程的 PID 以及进程的优先数,通过这一功能,我们能了解进程的相关情况。 (2)启动新进程。点击“启动新进程”按钮,进入“打开进程”对话框,在“浏 览”窗口里选择任意一个应用程序,则能在管理器里直接启动我们所选的进程。 (3)终止进程。当我们遇到某些软件在关闭窗口时不能直接关闭,这时可 以在进程管理器的 “终止进程”里找到该进程并将其终止,这一功能实现的是类 似于任务管理器的“进程”选项所具有的功能。 (4)退出管理器。当对管理器操作做完毕时,直接点击“退出管理器“按钮 则可关闭管理器。 三、模块设计与分析三、模块设计与分析 本软
6、件实现了进程管理的三大功能,其中主要用到了三大函数,包括获取进 程函数 “OnGetProcess”、启动新进程函数“Ononrun”、终止进程函数 “OnStopProcess”以及退出管理器函数“OnBnClickedCancel”,以下是对每个程序的 详细设计: 31 获取进程模块获取进程模块 该模块使用到的控件如表 1: 在 IDOK 控件上建立事件 OnGetProcess(), 当用户点击“获取进程”按扭时事件 发生,进程管理器可以获取计算机的所有进程。 函数源代码如下: void CShowAllProcessDlg:OnGetProcess() /获取进程的消息处理函数 / TODO: Add your control notification handler code here HANDLE Snapshot; Snapshot=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0); /获得某一时刻系 统的进程、堆(heap) 、模块(module)或线程的快照信息 PROCESSENTRY32