文档详情

任务管理器详细开发过程资料.doc

发布:2016-03-23约7.36千字共17页下载文档
文本预览下载声明
制作自己的任务管理器设计和实现说明 一背景介绍 模仿windows任务管理器制作一个任务管理器软件。设计语言不限。 二知识要求 Windows编程,MFC编程,API调用 三.开发环境 使用Microsoft Visual Studio 2013的开发环境,模拟Windows的任务管理器。首先分析进程管理器软件的相关功能;其次,综合运用以前所学的相关知识,广泛查阅资料。 四.主要功能及实现思路 4.1设计要求实现的主要功能进程管理功能,具体包括以下内容: 使用系统API。 制作出相应的图形用户界面。 至少包括三个功能: 获取、显示、控制(结束任务)当前系统中的应用程序; 获取、显示、控制(结束进程)当前系统中的进程; 获取、显示当前系统CPU及内存的使用情况。 4.2实现思路 4.2.1界面设计 所设计的程序是基于对话框的程序。首先创建一个MFC的应用程序, 在主对话框类中添加一个TabContrl标签控件用于放置应用程序、进程和CPU信息三个页面, 子对话框的显示与切换,是通过标签控件完成的。当用户点击标签控件上的每一项时,分别显示对应页面的相关信息。 要显示三个子对话框,需要添加三个对话框到工程中,并将Style属性设为Child,Board设为None,取消标题栏。再分别创建三个对话框的类CTask ,CProcess,CChart,并定义这三个类的变量: CTask m_Task; //任务 CProcess m_Process; //进程 CChart m_Chart; //图表 接下来就创建子窗口: m_Tab.InsertItem(0, _T(应用程序), 60);//向tab控件中添加每个参数选项卡的值 m_Tab.InsertItem(1, _T(进程信息), 60); m_Tab.InsertItem(2, _T(CPU信息), 60); //关联对话框,让tab控件为父窗口 m_Task.Create(IDD_TASK, m_Tab); m_Process.Create(IDD_PROCESS, m_Tab); m_Chart.Create(IDD_CHART, m_Tab); 当用户选择标签中的一项是,为了将对应的对话框在标签控件中显示出来,需要在OnShowWindow(BOOL bShow,UINT nStatus)中添加代码相关代码。这样便可将在个对话框分别显示于标签控件的每个页面中,但要实现选择标签的不同项显示不同页面还需在OnSelchangeTab1(NMHDR *pNMHDR, LRESULT *pResult)添加显示代码。核心代码如下: void CTaskMgrDlg::OnSelchangeTab1(NMHDR *pNMHDR, LRESULT *pResult) { // TODO: 在此添加控件通知处理程序代码 *pResult = 0; CRect tabRect; m_Tab.GetClientRect(tabRect); tabRect.top += 20; tabRect.left += 1; tabRect.right += 1; tabRect.bottom += 1; switch (m_Tab.GetCurSel())//根据鼠标选择的标签进行显示相应的对话框 { case 0: m_Task.SetWindowPos(NULL, tabRect.left, tabRect.top, tabRect.Width(), tabRect.Height(), SWP_SHOWWINDOW);//SWP_SHOWWINDOW:显示窗口 m_Process.SetWindowPos(NULL, tabRect.left, tabRect.top, tabRect.Width(), tabRect.Height(), SWP_HIDEWINDOW);//SWP_HIDEWINDOW:隐藏窗口 m_Chart.SetWindowPos(NULL, tabRect.left, tabRect.top, tabRect.Width(), tabRect.Height(), SWP_HIDEWINDOW); break; case 1: m_Task.SetWindowPos(NULL, tabRect.left, tabRect.top, tabRect.Width(), tabRect.Height(), SWP_HIDEWINDOW); m_Process.SetWindowPos(NULL, tabRect.left, tabRect.top, tabRect.Width(), tabRect.Height(),
显示全部
相似文档