收藏 分销(赏)

操作系统优秀课程设计优质报告完成版.docx

上传人:精**** 文档编号:2799600 上传时间:2024-06-06 格式:DOCX 页数:62 大小:1.90MB
下载 相关 举报
操作系统优秀课程设计优质报告完成版.docx_第1页
第1页 / 共62页
操作系统优秀课程设计优质报告完成版.docx_第2页
第2页 / 共62页
操作系统优秀课程设计优质报告完成版.docx_第3页
第3页 / 共62页
操作系统优秀课程设计优质报告完成版.docx_第4页
第4页 / 共62页
操作系统优秀课程设计优质报告完成版.docx_第5页
第5页 / 共62页
点击查看更多>>
资源描述

1、XX大学课程设计汇报课程设计题目: Windows系统资源管理器和任务管理器 学 院: 专业班级: 年 级: 级 姓 名: 学 号: 完成时间: 年 7 月 3 日成 绩: 指导老师: 教务处课程设计指导老师评定成绩表项目分值优异(100x90)良好(90x80)中等(80x70)及格(70x60)不及格(x60)评分参考标准参考标准参考标准参考标准参考标准学习态度15学习态度认真,科学作风严谨,严格确保设计时间并按任务书中要求进度开展各项工作学习态度比较认真,科学作风良好,能按期圆满完成任务书要求任务学习态度尚好,遵守组织纪律,基础确保设计时间,按期完成各项工作学习态度尚可,能遵守组织纪律,

2、能按期完成任务学习马虎,纪律涣散,工作作风不严谨,不能确保设计时间和进度技术水平和实际能力25设计合理、理论分析和计算正确,试验数据正确,有很强实际动手能力、经济分析能力和计算机应用能力,文件查阅能力强、引用合理、调查调研很合理、可信设计合理、理论分析和计算正确,试验数据比较正确,有较强实际动手能力、经济分析能力和计算机应用能力,文件引用、调查调研比较合理、可信设计合理,理论分析和计算基础正确,试验数据比较正确,有一定实际动手能力,关键文件引用、调查调研比较可信设计基础合理,理论分析和计算无大错,试验数据无大错设计不合理,理论分析和计算有标准错误,试验数据不可靠,实际动手能力差,文件引用、调查

3、调研有较大问题创新10有重大改善或独特见解,有一定实用价值有较大改善或新奇见解,实用性尚可有一定改善或新见解有一定见解观念陈旧论文(计算书、图纸)撰写质量50结构严谨,逻辑性强,层次清楚,语言正确,文字流畅,完全符合规范化要求,书写工整或用计算机打印成文;图纸很工整、清楚结构合理,符合逻辑,文章层次分明,语言正确,文字流畅,符合规范化要求,书写工整或用计算机打印成文;图纸工整、清楚结构合理,层次较为分明,文理通顺,基础达成规范化要求,书写比较工整;图纸比较工整、清楚结构基础合理,逻辑基础清楚,文字尚通顺,勉强达成规范化要求;图纸比较工整内容空泛,结构混乱,文字表示不清,错别字较多,达不到规范化

4、要求;图纸不工整或不清楚指导老师评定成绩:指导老师署名: 年 月 日重庆大学本科学生课程设计任务书课程设计题目Windows系统资源管理器和任务管理器学院计算机专业网络工程年级09已知参数和设计要求:(1) 熟悉操作系统资源管理原理,掌握编程接口,能够使用高级语言调用编程接口,设计并实现Windows操作系统资源管理器全部功效(包含:菜单、图标、右键菜单),实现软件资源和数据资源管理。(2) 掌握操作系统任务和进程概念,熟悉任务和进程管理方法,经过高级语言编程接口设计并实现Windows操作系统任务管理器全部功效(包含:菜单、右键菜单、应用程序管理、进程管理、性能显示、联网状态和用户信息)。学

5、生应完成工作:(1) 了解Windows操作系统发展历史(2) 了解Windows XP体系结构(3) 掌握Windows系统API调用方法(4) 设计并实现Windows操作系统资源管理器全部功效(包含:菜单、图标、右键菜单),实现软件资源和数据资源管理。(5) 设计并实现Windows操作系统任务管理器全部功效(包含:菜单、右键菜单、应用程序管理、进程管理、性能显示、联网状态和用户信息)。现在资料搜集情况(含指定参考资料):(1) 在互联网上搜集相关资料(2) William Stallings,Operating Systems Internals and Design Principl

6、es,6th Edition,电子工业出版社,课程设计工作计划:(1) 第1第3天:查询、搜集资料,学习相关知识;(2) 第4天:熟悉掌握API函数使用;(3) 第5第9天:设计、实现程序;(4) 第10天:编写课程设计汇报;(5) 第11天:检验程序;(6) 第12天:修改完善程序和课程设计汇报。任务下达日期6月18日完成日期7月7日目录摘要1第一章课程设计要求2第二章设计概要32.1功效设计32.2程序系统功效模块32.2.1 Windows任务管理器功效模块32.2.2 Windows资源管理器功效模块423功效分析42.3.1 Windows任务管理器功效步骤图42.3.2 Windo

7、ws资源管理器功效步骤图52.3.3 Windows任务管理器界面截图62.3.4 Windows资源管理器界面截图82.3.5 程序关键功效说明11第三章调试分析和测试结果343.1 Windows任务管理器343.1.1基础界面343.1.2 进程状态查看353.1.3 CPU状态查看363.1.4 进程管理功效363.2 Windows资源管理器393.2.1 基础界面393.2.2 剪切功效实现413.2.3 复制功效实现423.2.4 删除功效实现43第四章设计总结44第五章参考文件45摘 要操作系统是一个介于软件和硬件之间特殊硬件,首先分配硬件资源其次支持软件在它上面实现,怎样实时

8、地监控和掌握系统软硬件工作状态、资源分配和使用情况,对计算机用户而言十分关键,于是就有了任务管理器这么实时监控窗口;同理,我们也需要掌握计算机硬件设备工作状态,掌握其怎样存放文件、分配硬盘资源等,这也是我们做资源管理器初衷。我们电脑需要我们去了解它运行情况,掌握和管理它进程,并对其异常情况给操作和控制,任务管理器就像是我们了解和控制自己电脑运作一个窗口,经过这个窗口我们能够了解到电脑全部进程运行情况,并对运行进程加于管理和控制,正如在本试验中,开启进程管理器后,能够经过”获取进程”功效来取得本计算机开启进程,和和该进程相关信息,其中包含信息有:进程映像名称,进程开启线程数,进程PID和进程优先

9、数,我们能够经过这些信息来了解计算机中每个进程使用情况。同时我们能够在进程管理器上选中一个要终止进程,点击“终止进程”功效按钮,该进程被终止实施并退出进程列表,其中还包含了自动刷新功效,此按钮实现功效正如我们电脑任务管理器“进程”功效,当电脑实施程序不能经过关闭窗口进行正常关闭时,能够借助此措施来关闭进程。我们还能够经过这个进程管理器来开启新进程,当我们要在进程管理器里开启新进程时,只关键点击“开启新进程”按键,则会弹出“打开进程”对话框,我们能够经过对话框里“浏览”窗口选择要打开新进程,这是任务管理器里没有实现功效,经过这个功效我们在管理计算机时变得愈加灵活方便,也使进程管理功效愈加完善。在

10、退出此进程管理器时候,只要选择“退出”功效按钮则可关闭进程管理器,快速退出管理器界面。本管理器设计比较简练,操作灵活,使用简单,能够为我们管理和控制计算机进程提供了一个简便方法,是我们控制本计算机进程和了解计算机进程情况良好助手。关键词:任务管理器 资源管理器 操作系统第一章 课程设计要求题目名称:Windows系统资源管理器和任务管理器题目类型:设计型课程设计目标:熟悉操作系统资源管理原理,掌握编程接口,能够使用高级语言调用编程接口,设计并实现Windows操作系统资源管理器和任务管理器全部功效。已知参数和设计要求:(3) 熟悉操作系统资源管理原理,掌握编程接口,能够使用高级语言调用编程接口

11、,设计并实现Windows操作系统资源管理器全部功效(包含:菜单、图标、右键菜单),实现软件资源和数据资源管理;(4) 掌握操作系统任务和进程概念,熟悉任务和进程管理方法,经过高级语言编程接口设计并实现Windows操作系统任务管理器全部功效(包含:菜单、右键菜单、应用程序管理、进程管理、性能显示、联网状态和用户信息)。试验内容:(6) 了解Windows操作系统发展历史;(7) 了解Windows XP体系结构;(8) 掌握Windows系统API调用方法;(9) 设计并实现Windows操作系统资源管理器全部功效(包含:菜单、图标、右键菜单),实现软件资源和数据资源管理;(10) 设计并实

12、现Windows操作系统任务管理器全部功效(包含:菜单、右键菜单、应用程序管理、进程管理、性能显示、联网状态和用户信息)。第二章 设计概要2.1功效设计本项目是为了实现模拟Windows系统任务管理器和资源管理器。项目标分析及功效设计要求以下:(1) 编程模拟实现Windows系统任务管理器和资源管理器两个应用程序;(2) 服务器端能够对文件进行管理,包含上传,下载,删除文件,重命名等;(3) 客服端能够实现文件上传、下载和查看服务器下默认目录文件列表;(4) 在程序中应用多线程来实现多个用户端同时对一个服务器端进行请求操作。2.2程序系统功效模块关机查看选项文件功效设计目前用户状态内存使用状

13、态CPU状态进程、应用程序状态进程数实时状态监控Windows任务管理器新建、切换进程、关闭进程相关关机、注销立即刷新、小图标、具体列表总在最前新建任务、退出管理器进程帮助2.2.1 Windows任务管理器功效模块图2.1文件功效设计文件类型文件大小目录树资源状态显示Windows资源管理器2.2.2 Windows资源管理器功效模块文件名修改时间新建、打开、保留、另存为、最近文件、退出相关帮助视图撤销、剪切、粘贴、复制编辑工具栏和停靠窗口应用程序外观状态栏图2.223功效分析2.3.1 Windows任务管理器功效步骤图图2.32.3.2 Windows资源管理器功效步骤图显示数据控件消息

14、鼠标事件消息资源数据资源文件用户操作鼠标显示操作效果资源管理器控制系统鼠标事件处理图2.42.3.3 Windows任务管理器界面截图整体界面不一样状态显示截图2.3.4 Windows资源管理器界面截图1、 整体界面:2、功效界面展示:“文件”功效展示“编辑”功效展示“视图”功效展示“帮助”功效展示2.3.5 程序关键功效说明一、Windows任务管理器关键功效代码实现:取得进程代码实现Public Sub ListProcess()On Error Resume Next Dim i As Long, j As Long, n As Long Dim proc As PROCESSENTR

15、Y32 Dim snap As Long Dim exename As String 应用程序名 Dim item As ListItem Dim lngHwndProcess As Long Dim lngModules(1 To 200) As Long Dim lngCBSize2 As Long Dim lngReturn As Long Dim strModuleName As String Dim pmc As PROCESS_MEMORY_COUNTERS Dim WKSize As Long Dim strProcessName As String Dim strComment

16、 As String 装载进程注释字符串 Dim ProClass As String 程序类名 开始进程循环snap = CreateToolhelpSnapshot(TH32CS_SNAPall, 0) proc.dwSize = Len(proc)theloop = ProcessFirst(snap, proc) i = 0 n = 0 While theloop 0 i = i + 1 打开指定进程序,并得到进程句柄lngHwndProcess = OpenProcess(PROCESS_QUERY_INFORMATION Or PROCESS_VM_READ, 0, proc.th

17、32ProcessID) If lngHwndProcess 0 Then 枚举系统中正在运行进程模板lngReturn = EnumProcessModules(lngHwndProcess, lngModules(1), 200, lngCBSize2) If lngReturn 0 Then 返回特定数目空格strModuleName = Space(MAX_PATH) 获取一个已装载模板完整路径名称lngReturn = GetModuleFileNameExA(lngHwndProcess, lngModules(1), strModuleName, 500)strProcessNa

18、me = Left(strModuleName, lngReturn)strProcessName = CheckPath(Trim$(strProcessName) If strProcessName Then 判定ITEM是否已经存在 j = HaveItem(proc.th32ProcessID) If j = 0 Then 假如没有该进程 获取短文件名exename = Dir(strProcessName, vbNormal Or vbHidden Or vbReadOnly Or vbSystem) If exename = hh.exe Then MsgBox SetProCla

19、ss(proc.th32ProcessID, IDLE_PRIORITY_CLASS) End If 添加进程item Set item = List1.ListItems.Add(, ID: & CStr(proc.th32ProcessID), exename) 进程IDitem.SubItems(1) = proc.th32ProcessID 内存使用 pmc.cb = LenB(pmc) 取得进程内存信息,在这里就是计算该进程占用内存多少lret = GetProcessMemoryInfo(lngHwndProcess, pmc, pmc.cb) n = n + pmc.Workin

20、gSetSize WKSize = pmc.WorkingSetSize / 1024item.SubItems(3) = WKSize & K 进程序IP号item.SubItems(2) = GetProClass(proc.th32ProcessID) 进程图标将获取图标加到IMAGE控件中IM1.ListImages.Add , strProcessName, GetIcon(strProcessName) item.SmallIcon = IM1.ListImages.item(strProcessName).Key Else 假如已经有该进程 pmc.cb = LenB(pmc)

21、取得进程内存信息,在这里就是计算该进程占用内存多少lret = GetProcessMemoryInfo(lngHwndProcess, pmc, pmc.cb) n = n + pmc.WorkingSetSize WKSize = pmc.WorkingSetSize / 1024 计算占用内存 If CLng(List1.ListItems.item(j).SubItems(3) WKSize Then List1.ListItems.item(j).SubItems(3) = WKSize & K 取得进程类名 ProClass = GetProClass(proc.th32Proce

22、ssID) If ProClass List1.ListItems.item(j).SubItems(5) Then List1.ListItems.item(j).SubItems(5) = ProClass End If End If End If End Iftheloop = ProcessNext(snap, proc) Wend CloseHandle snap 显示总进程数 Label3 If i ProCount Then Label3.Caption = 进程数: & i ProCount = i End If If n RamUse Then 这里130是以后加上去.是为了

23、和系统自带数值一样 Label5.Caption = Val(FormatLng(n) + 130 & MB RamUse = n For i = 950 To Val(FormatLng(n) + 400 Step -90 rampic.Line (0, i)-Step(1200, 20), &HFF00&, BF Next i End IfEnd Sub调用系统相关窗Private Sub about_Click()On Error Resume Next ShellAbout Me.hwnd, App.Title, 谭建&文程&张源, ByVal 0&End Sub退出本程序员Priva

24、te Sub close_Click() tmrRefresh.Enabled = False Unload MeEnd SubPrivate Sub CloseSystem_Click() tmrRefresh.Enabled = False Unload MeEnd Sub应用程序切换程序Private Sub cmdSwitch_Click() Dim hwnd As Long Dim X As Long Dim lngWW As Long If LstApp.ListIndex 0 Then Beep: Exit Subhwnd = LstApp.ItemData(LstApp.Lis

25、tIndex) 取得窗口结构信息lngWW = GetWindowLong(hwnd, GWL_STYLE) If lngWW And WS_MINIMIZE Then控制窗口可见性 X = ShowWindow(hwnd, SW_RESTORE) End If 指定一个窗口新位置 第2个参数:将窗口置于Z序列顶部. X = SetWindowPos(hwnd, HWND_TOP, 0, 0, 0, 0, _ SWP_NOMOVE Or SWP_NOSIZE Or SWP_SHOWWINDOW)End Sub 保持目前位置或保持目前大小或显示窗口弹出新建任务窗Private Sub Comma

26、nd1_Click()frmnew.Show vbModalEnd Sub结束应用程序还有就是在假如列表中没有活动程序,点击结束程序会退出本身Private Sub Command3_Click() On Error Resume Next If LstApp.ListCount = 0 Then 应用程序类名,和程序标题 Dim lpclassname As String, lpcaption As String 程序句柄号 Dim Handle As Long Dim Retval As Long 先是打开要关闭程序,其它就是将该程序显示成目前途序 Shell LstApp.Text, 1

27、lpclassname = LstApp.Textlpcaption = LstApp.Text 取得程序句柄号 Handle = FindWindow(vbNullString, lpcaption) 用函数关闭应用程序 PostMessage Handle, WM_Close, 0&, 0& 所了和列表控件一至,在这里删除列表中该进程名 LstApp.RemoveItem LstApp.ListIndex LstApp.refresh 刷新 FindAllAppsEnd Sub结束指定进程功效代码实现Private Sub Command4_Click()On Error Resume N

28、ext Dim i As Long, hand As Long, id As Long If MsgBox(确定要结束进程 & List1.SelectedItem.Text & 吗?, vbExclamation + vbOKCancel) = vbCancel Then Exit Subid = CLng(List1.SelectedItem.SubItems(1) If id 0 Then EndPro id End If ListProcessEnd SubPrivate Sub Command5_Click() Dim AboutRet As Long AboutRet = Exit

29、WindowsEx(EWX_LOGOFF, 0)End Sub注销用户功效实现Private Sub Command6_Click() Dim AboutRet As Long AboutRet = ExitWindowsEx(EWX_LOGOFF, 0)End Sub切换至功效实现Private Sub cutoverto_Click() cmdSwitch_Click Me.WindowState = 1End Sub 改变进程显示方法Private Sub Detailed_Click() List1.View = lvwReportEnd Sub结束应用程序功效实现Private Su

30、b endprograme_Click() Command3_ClickEnd Sub 关机功效实现Private Sub Exit_Click()frmclose.Show vbModalEnd SubCPU效率监视CpuPicture(0).ScaleMode = vbPixelsCpuPicture(1).ScaleMode = vbPixels Set QueryObject = New CCpuwatch对象初始化 QueryObject.Initialize打开时间控件 tmrRefresh.Enabled = True调用刷新过程 tmrRefresh_Timer*取得全部系统进

31、程 ListProcess 窗体总在前 SetTop Me, front.Checked*取得系统目前用户cnt& = 199s$ = String$(200, 0)dl& = GetUserName(s$, cnt) Set item = ListView3.ListItems.Add(, , s$, , 2) item.SubItems(2) = 正在运行.item.SubItems(1) = WorkstationID 设置系统托盘 If WindowState = vbMinimized Then LastState = vbNormal Else LastState = Window

32、State End If AddToTray Me, TrayEnd SubPrivate Sub Form_Resize() Select Case WindowState Case vbMinimized Me.Visible = False Case vbMaximized Me.Visible = True End Select If WindowState vbMinimized Then LastState = WindowState Me.Visible = True End IfEnd SubPrivate Sub Form_Unload(Cancel As Integer)

33、RemoveFromTray 关闭托盘 tmrRefresh.Enabled = False Unload MeEnd SubPrivate Sub front_Click() front.Checked = Not front.Checked SetTop Me, front.CheckedEnd SubPrivate Sub jsjc_Click() Command4_ClickEnd SubPrivate Sub List1_ColumnClick(ByVal ColumnHeader As MSComctlLib.ColumnHeader)On Error Resume Next Wi

34、th List1 设置 Sorted 为 True 以将列表排序。 If (ColumnHeader.Index - 1) = .SortKey Then .SortOrder = (.SortOrder + 1) Mod 2 .Sorted = True Else .Sorted = False .SortOrder = 0 .SortKey = ColumnHeader.Index - 1 .Sorted = True End If End WithEnd Sub右击菜单;,并初使化进程优先等级Private Sub List1_MouseDown(Button As Integer, S

35、hift As Integer, X As Single, y As Single)On Error Resume Next Dim j As Long, i As Long If Button = 2 Then If List1.HitTest(X, y) Is Nothing Then Exit Sub j = List1.HitTest(X, y).IndexList1.ListItems(j).Selected = True For i = 0 To 5mnuSetProClassSub(i).Checked = False Next Select Case List1.Selecte

36、dItem.SubItems(2) Case 实时: mnuSetProClassSub(0).Checked = True Case 高: mnuSetProClassSub(1).Checked = True Case 较高: mnuSetProClassSub(2).Checked = True Case 标准: mnuSetProClassSub(3).Checked = True Case 较低: mnuSetProClassSub(4).Checked = True Case 低: mnuSetProClassSub(5).Checked = True End Select Pop

37、upMenu you End IfEnd SubPrivate Sub log_Click()frmclose.Show vbModalEnd Sub双击切换到另一个程序Sub lstApp_DblClick() cmdSwitch.Value = TrueEnd Sub任务窗Function TaskWindow(hwCurr As Long) As Long Dim lngStyle As Long 调用函数得到指定窗口信息第一个参数是指定窗口句柄,第二个是窗口样式lngStyle = GetWindowLong(hwCurr, GWL_STYLE) If (lngStyle And Is

38、Task) = IsTask Then TaskWindow = TrueEnd Function设置进程优先级Public Function SetProClass(ByVal PID As Long, ByVal ClassID As Long)On Error Resume Next Dim hwd As Long 在这里得到一个句柄hwd = OpenProcess(PROCESS_SET_INFORMATION, 0, PID) 调用这个函数设置进程优先级 SetProClass = SetPriorityClass(hwd, ClassID)End Function右键菜单Private Sub LstApp_MouseDown(Button As Integer, Shift As Integer, X As Single, y As Single) If Button = 2 Then PopupMenu Application End IfEnd Sub在这里设置进程优先级Private Sub mnuSetProClassSub_Click(Index As Integer)On Error Resume Next Dim PID As Long, rtn As Long

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服