操作系統(tǒng)課程設(shè)計(jì)報(bào)告(完成版_第1頁(yè)
操作系統(tǒng)課程設(shè)計(jì)報(bào)告(完成版_第2頁(yè)
操作系統(tǒng)課程設(shè)計(jì)報(bào)告(完成版_第3頁(yè)
操作系統(tǒng)課程設(shè)計(jì)報(bào)告(完成版_第4頁(yè)
操作系統(tǒng)課程設(shè)計(jì)報(bào)告(完成版_第5頁(yè)
已閱讀5頁(yè),還剩45頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、XX大學(xué)課程設(shè)計(jì)報(bào)告課程設(shè)計(jì)題目: Windows系統(tǒng)資源管理器與任務(wù)管理器 學(xué) 院: 專(zhuān)業(yè)班級(jí): 年 級(jí): 2008級(jí) 姓 名: 學(xué) 號(hào): 完成時(shí)間: 2012 年 7 月 3 日成 績(jī): 指導(dǎo)教師: 教務(wù)處課程設(shè)計(jì)指導(dǎo)教師評(píng)定成績(jī)表項(xiàng)目分值優(yōu)秀(100x90)良好(90x80)中等(80x70)及格(70x60)不及格(x60)評(píng)分參考標(biāo)準(zhǔn)參考標(biāo)準(zhǔn)參考標(biāo)準(zhǔn)參考標(biāo)準(zhǔn)參考標(biāo)準(zhǔn)學(xué)習(xí)態(tài)度15學(xué)習(xí)態(tài)度認(rèn)真,科學(xué)作風(fēng)嚴(yán)謹(jǐn),嚴(yán)格保證設(shè)計(jì)時(shí)間并按任務(wù)書(shū)中規(guī)定的進(jìn)度開(kāi)展各項(xiàng)工作學(xué)習(xí)態(tài)度比較認(rèn)真,科學(xué)作風(fēng)良好,能按期圓滿完成任務(wù)書(shū)規(guī)定的任務(wù)學(xué)習(xí)態(tài)度尚好,遵守組織紀(jì)律,基本保證設(shè)計(jì)時(shí)間,按期完成各項(xiàng)工作學(xué)習(xí)態(tài)度

2、尚可,能遵守組織紀(jì)律,能按期完成任務(wù)學(xué)習(xí)馬虎,紀(jì)律渙散,工作作風(fēng)不嚴(yán)謹(jǐn),不能保證設(shè)計(jì)時(shí)間和進(jìn)度技術(shù)水平與實(shí)際能力25設(shè)計(jì)合理、理論分析與計(jì)算正確,實(shí)驗(yàn)數(shù)據(jù)準(zhǔn)確,有很強(qiáng)的實(shí)際動(dòng)手能力、經(jīng)濟(jì)分析能力和計(jì)算機(jī)應(yīng)用能力,文獻(xiàn)查閱能力強(qiáng)、引用合理、調(diào)查調(diào)研非常合理、可信設(shè)計(jì)合理、理論分析與計(jì)算正確,實(shí)驗(yàn)數(shù)據(jù)比較準(zhǔn)確,有較強(qiáng)的實(shí)際動(dòng)手能力、經(jīng)濟(jì)分析能力和計(jì)算機(jī)應(yīng)用能力,文獻(xiàn)引用、調(diào)查調(diào)研比較合理、可信設(shè)計(jì)合理,理論分析與計(jì)算基本正確,實(shí)驗(yàn)數(shù)據(jù)比較準(zhǔn)確,有一定的實(shí)際動(dòng)手能力,主要文獻(xiàn)引用、調(diào)查調(diào)研比較可信設(shè)計(jì)基本合理,理論分析與計(jì)算無(wú)大錯(cuò),實(shí)驗(yàn)數(shù)據(jù)無(wú)大錯(cuò)設(shè)計(jì)不合理,理論分析與計(jì)算有原則錯(cuò)誤,實(shí)驗(yàn)數(shù)據(jù)不可靠,

3、實(shí)際動(dòng)手能力差,文獻(xiàn)引用、調(diào)查調(diào)研有較大的問(wèn)題創(chuàng)新10有重大改進(jìn)或獨(dú)特見(jiàn)解,有一定實(shí)用價(jià)值有較大改進(jìn)或新穎的見(jiàn)解,實(shí)用性尚可有一定改進(jìn)或新的見(jiàn)解有一定見(jiàn)解觀念陳舊論文(計(jì)算書(shū)、圖紙)撰寫(xiě)質(zhì)量50結(jié)構(gòu)嚴(yán)謹(jǐn),邏輯性強(qiáng),層次清晰,語(yǔ)言準(zhǔn)確,文字流暢,完全符合規(guī)范化要求,書(shū)寫(xiě)工整或用計(jì)算機(jī)打印成文;圖紙非常工整、清晰結(jié)構(gòu)合理,符合邏輯,文章層次分明,語(yǔ)言準(zhǔn)確,文字流暢,符合規(guī)范化要求,書(shū)寫(xiě)工整或用計(jì)算機(jī)打印成文;圖紙工整、清晰結(jié)構(gòu)合理,層次較為分明,文理通順,基本達(dá)到規(guī)范化要求,書(shū)寫(xiě)比較工整;圖紙比較工整、清晰結(jié)構(gòu)基本合理,邏輯基本清楚,文字尚通順,勉強(qiáng)達(dá)到規(guī)范化要求;圖紙比較工整內(nèi)容空泛,結(jié)構(gòu)混亂,

4、文字表達(dá)不清,錯(cuò)別字較多,達(dá)不到規(guī)范化要求;圖紙不工整或不清晰指導(dǎo)教師評(píng)定成績(jī):指導(dǎo)教師簽名: 年 月 日重慶大學(xué)本科學(xué)生課程設(shè)計(jì)任務(wù)書(shū)課程設(shè)計(jì)題目Windows系統(tǒng)資源管理器與任務(wù)管理器學(xué)院計(jì)算機(jī)專(zhuān)業(yè)網(wǎng)絡(luò)工程年級(jí)09已知參數(shù)和設(shè)計(jì)要求:(1) 熟悉操作系統(tǒng)資源管理原理,掌握編程接口,能夠使用高級(jí)語(yǔ)言調(diào)用編程接口,設(shè)計(jì)并實(shí)現(xiàn)Windows操作系統(tǒng)資源管理器的全部功能(包括:菜單、圖標(biāo)、右鍵菜單),實(shí)現(xiàn)軟件資源和數(shù)據(jù)資源的管理。(2) 掌握操作系統(tǒng)任務(wù)與進(jìn)程概念,熟悉任務(wù)與進(jìn)程管理的方法,通過(guò)高級(jí)語(yǔ)言編程接口設(shè)計(jì)并實(shí)現(xiàn)Windows操作系統(tǒng)任務(wù)管理器的全部功能(包括:菜單、右鍵菜單、應(yīng)用程序管理

5、、進(jìn)程管理、性能顯示、聯(lián)網(wǎng)狀態(tài)和用戶信息)。學(xué)生應(yīng)完成的工作:(1) 了解Windows操作系統(tǒng)的發(fā)展歷史(2) 了解Windows XP的體系結(jié)構(gòu)(3) 掌握Windows系統(tǒng)API的調(diào)用方法(4) 設(shè)計(jì)并實(shí)現(xiàn)Windows操作系統(tǒng)資源管理器的全部功能(包括:菜單、圖標(biāo)、右鍵菜單),實(shí)現(xiàn)軟件資源和數(shù)據(jù)資源的管理。(5) 設(shè)計(jì)并實(shí)現(xiàn)Windows操作系統(tǒng)任務(wù)管理器的全部功能(包括:菜單、右鍵菜單、應(yīng)用程序管理、進(jìn)程管理、性能顯示、聯(lián)網(wǎng)狀態(tài)和用戶信息)。目前資料收集情況(含指定參考資料):(1) 在互聯(lián)網(wǎng)上收集相關(guān)資料(2) William Stallings,Operating Systems

6、 Internals and Design Principles,6th Edition,電子工業(yè)出版社,2010年課程設(shè)計(jì)的工作計(jì)劃:(1) 第1第3天:查詢(xún)、收集資料,學(xué)習(xí)相關(guān)知識(shí);(2) 第4天:熟悉掌握API函數(shù)使用;(3) 第5第9天:設(shè)計(jì)、實(shí)現(xiàn)程序;(4) 第10天:編寫(xiě)課程設(shè)計(jì)報(bào)告;(5) 第11天:檢查程序;(6) 第12天:修改完善程序與課程設(shè)計(jì)報(bào)告。任務(wù)下達(dá)日期2012年6月18日完成日期2012年7月7日目錄摘要1第一章課程設(shè)計(jì)要求2第二章設(shè)計(jì)概要32.1功能設(shè)計(jì)32.2程序系統(tǒng)功能模塊32.2.1 Windows任務(wù)管理器功能模塊32.2.2 Windows資源管理器功

7、能模塊423功能分析42.3.1 Windows任務(wù)管理器功能流程圖42.3.2 Windows資源管理器功能流程圖52.3.3 Windows任務(wù)管理器界面截圖62.3.4 Windows資源管理器界面截圖82.3.5 程序主要功能說(shuō)明11第三章調(diào)試分析與測(cè)試結(jié)果343.1 Windows任務(wù)管理器343.1.1基本界面343.1.2 進(jìn)程狀態(tài)查看353.1.3 CPU狀態(tài)查看363.1.4 進(jìn)程管理功能363.2 Windows資源管理器393.2.1 基本界面393.2.2 剪切功能的實(shí)現(xiàn)413.2.3 復(fù)制功能的實(shí)現(xiàn)423.2.4 刪除功能的實(shí)現(xiàn)43第四章設(shè)計(jì)總結(jié)44第五章參考文獻(xiàn)45

8、摘 要操作系統(tǒng)是一個(gè)介于軟件和硬件之間的特殊硬件,一方面分配硬件資源另一方面支持軟件在它上面的實(shí)現(xiàn),如何實(shí)時(shí)地監(jiān)控和掌握系統(tǒng)軟硬件工作的狀態(tài)、資源分配和使用的情況,對(duì)計(jì)算機(jī)用戶而言十分重要,于是就有了任務(wù)管理器這樣的實(shí)時(shí)監(jiān)控窗口;同理,我們也需要掌握計(jì)算機(jī)硬件設(shè)備的工作狀態(tài),掌握其如何存儲(chǔ)文件、分配硬盤(pán)資源等,這也是我們做資源管理器的初衷。我們的電腦需要我們?nèi)チ私馑倪\(yùn)行狀況,掌握和管理它的進(jìn)程,并對(duì)其異常情況給予操作和控制,任務(wù)管理器就像是我們了解和控制自己電腦運(yùn)作的一個(gè)窗口,通過(guò)這個(gè)窗口我們可以了解到電腦所有進(jìn)程運(yùn)行狀況,并對(duì)運(yùn)行的進(jìn)程加于管理和控制,正如在本實(shí)驗(yàn)中,啟動(dòng)進(jìn)程管理器后,可以

9、通過(guò)”獲取進(jìn)程”功能來(lái)獲得本計(jì)算機(jī)啟動(dòng)的進(jìn)程,以及與該進(jìn)程相關(guān)的信息,其中包括的信息有:進(jìn)程映像名稱(chēng),進(jìn)程開(kāi)啟的線程數(shù),進(jìn)程的PID以及進(jìn)程的優(yōu)先數(shù),我們可以通過(guò)這些信息來(lái)了解計(jì)算機(jī)中每個(gè)進(jìn)程的使用狀況。同時(shí)我們可以在進(jìn)程管理器上選中一個(gè)要終止的的進(jìn)程,點(diǎn)擊“終止進(jìn)程”功能按鈕,該進(jìn)程被終止執(zhí)行并退出進(jìn)程列表,其中還包括了自動(dòng)刷新的功能,此按鈕實(shí)現(xiàn)的功能正如我們電腦任務(wù)管理器的“進(jìn)程”功能,當(dāng)電腦執(zhí)行程序不能通過(guò)關(guān)閉窗口進(jìn)行正常的關(guān)閉時(shí),可以借助此辦法來(lái)關(guān)閉進(jìn)程。我們還可以通過(guò)這個(gè)進(jìn)程管理器來(lái)啟動(dòng)新的進(jìn)程,當(dāng)我們要在進(jìn)程管理器里啟動(dòng)新的進(jìn)程時(shí),只要點(diǎn)擊“啟動(dòng)新進(jìn)程”按鍵,則會(huì)彈出“打開(kāi)進(jìn)程”對(duì)

10、話框,我們可以通過(guò)對(duì)話框里的“瀏覽”窗口選擇要打開(kāi)的新進(jìn)程,這是任務(wù)管理器里沒(méi)有實(shí)現(xiàn)的功能,通過(guò)這個(gè)功能我們?cè)诠芾碛?jì)算機(jī)時(shí)變得更加靈活方便,也使進(jìn)程管理的功能更加完善。在退出此進(jìn)程管理器時(shí)候,只要選擇“退出”功能按鈕則可關(guān)閉進(jìn)程管理器,快速退出管理器的界面。本管理器設(shè)計(jì)比較簡(jiǎn)潔,操作靈活,使用簡(jiǎn)單,可以為我們管理和控制計(jì)算機(jī)的進(jìn)程提供了一個(gè)簡(jiǎn)便的方法,是我們控制本計(jì)算機(jī)進(jìn)程和了解計(jì)算機(jī)進(jìn)程情況的良好助手。關(guān)鍵詞:任務(wù)管理器 資源管理器 操作系統(tǒng)第一章 課程設(shè)計(jì)要求題目名稱(chēng):Windows系統(tǒng)資源管理器與任務(wù)管理器題目類(lèi)型:設(shè)計(jì)型課程設(shè)計(jì)目的:熟悉操作系統(tǒng)資源管理原理,掌握編程接口,能夠使用高級(jí)

11、語(yǔ)言調(diào)用編程接口,設(shè)計(jì)并實(shí)現(xiàn)Windows操作系統(tǒng)資源管理器和任務(wù)管理器的全部功能。已知參數(shù)和設(shè)計(jì)要求:(3) 熟悉操作系統(tǒng)資源管理原理,掌握編程接口,能夠使用高級(jí)語(yǔ)言調(diào)用編程接口,設(shè)計(jì)并實(shí)現(xiàn)Windows操作系統(tǒng)資源管理器的全部功能(包括:菜單、圖標(biāo)、右鍵菜單),實(shí)現(xiàn)軟件資源和數(shù)據(jù)資源的管理;(4) 掌握操作系統(tǒng)任務(wù)與進(jìn)程概念,熟悉任務(wù)與進(jìn)程管理的方法,通過(guò)高級(jí)語(yǔ)言編程接口設(shè)計(jì)并實(shí)現(xiàn)Windows操作系統(tǒng)任務(wù)管理器的全部功能(包括:菜單、右鍵菜單、應(yīng)用程序管理、進(jìn)程管理、性能顯示、聯(lián)網(wǎng)狀態(tài)和用戶信息)。實(shí)驗(yàn)內(nèi)容:(6) 了解Windows操作系統(tǒng)的發(fā)展歷史;(7) 了解Windows XP的

12、體系結(jié)構(gòu);(8) 掌握Windows系統(tǒng)API的調(diào)用方法;(9) 設(shè)計(jì)并實(shí)現(xiàn)Windows操作系統(tǒng)資源管理器的全部功能(包括:菜單、圖標(biāo)、右鍵菜單),實(shí)現(xiàn)軟件資源和數(shù)據(jù)資源的管理;(10) 設(shè)計(jì)并實(shí)現(xiàn)Windows操作系統(tǒng)任務(wù)管理器的全部功能(包括:菜單、右鍵菜單、應(yīng)用程序管理、進(jìn)程管理、性能顯示、聯(lián)網(wǎng)狀態(tài)和用戶信息)。第二章 設(shè)計(jì)概要2.1功能設(shè)計(jì)本項(xiàng)目是為了實(shí)現(xiàn)模擬Windows系統(tǒng)任務(wù)管理器和資源管理器。項(xiàng)目的分析及功能設(shè)計(jì)要求如下:(1) 編程模擬實(shí)現(xiàn)Windows系統(tǒng)任務(wù)管理器和資源管理器兩個(gè)應(yīng)用程序;(2) 服務(wù)器端可以對(duì)文件進(jìn)行管理,包括上傳,下載,刪除文件,重命名等;(3) 客

13、服端可以實(shí)現(xiàn)文件的上傳、下載以及查看服務(wù)器下默認(rèn)目錄的文件列表;(4) 在程序中應(yīng)用多線程來(lái)實(shí)現(xiàn)多個(gè)客戶端同時(shí)對(duì)一個(gè)服務(wù)器端進(jìn)行請(qǐng)求操作。2.2程序系統(tǒng)功能模塊關(guān)機(jī)查看選項(xiàng)文件功能設(shè)計(jì)當(dāng)前用戶狀態(tài)內(nèi)存使用狀態(tài)CPU狀態(tài)進(jìn)程、應(yīng)用程序狀態(tài)進(jìn)程數(shù)實(shí)時(shí)狀態(tài)監(jiān)控Windows任務(wù)管理器新建、切換進(jìn)程、關(guān)閉進(jìn)程關(guān)于關(guān)機(jī)、注銷(xiāo)立即刷新、小圖標(biāo)、詳細(xì)列表總在最前新建任務(wù)、退出管理器進(jìn)程幫助2.2.1 Windows任務(wù)管理器功能模塊圖2.1文件功能設(shè)計(jì)文件類(lèi)型文件大小目錄樹(shù)資源狀態(tài)顯示W(wǎng)indows資源管理器2.2.2 Windows資源管理器功能模塊文件名修改時(shí)間新建、打開(kāi)、保存、另存為、最近的文件、退出

14、關(guān)于幫助視圖撤銷(xiāo)、剪切、粘貼、復(fù)制編輯工具欄和停靠窗口應(yīng)用程序外觀狀態(tài)欄圖2.223功能分析2.3.1 Windows任務(wù)管理器功能流程圖圖 Windows資源管理器功能流程圖顯示數(shù)據(jù)控件消息鼠標(biāo)事件消息資源數(shù)據(jù)資源文件用戶操作鼠標(biāo)顯示操作效果資源管理器控制系統(tǒng)鼠標(biāo)事件處理圖 Windows任務(wù)管理器界面截圖整體界面不同狀態(tài)顯示的截圖2.3.4 Windows資源管理器界面截圖1、 整體界面:2、功能界面展示:“文件”功能展示“編輯”功能展示“視圖”功能展示“幫助”功能展示2.3.5 程序主要功能說(shuō)明一、Windows任務(wù)管理器主要功能代碼實(shí)現(xiàn):獲得進(jìn)程代碼實(shí)現(xiàn)

15、Public Sub ListProcess()On Error Resume Next Dim i As Long, j As Long, n As Long Dim proc As PROCESSENTRY32 Dim snap As Long Dim exename As String 應(yīng)用程序名 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

16、String Dim pmc As PROCESS_MEMORY_COUNTERS Dim WKSize As Long Dim strProcessName As String Dim strComment As String 裝載進(jìn)程注釋的字符串 Dim ProClass As String 程序的類(lèi)名 開(kāi)始進(jìn)程循環(huán)snap = CreateToolhelpSnapshot(TH32CS_SNAPall, 0) proc.dwSize = Len(proc)theloop = ProcessFirst(snap, proc) i = 0 n = 0 While theloop 0 i =

17、i + 1 打開(kāi)指定的進(jìn)程序,并得到進(jìn)程的句柄lngHwndProcess = OpenProcess(PROCESS_QUERY_INFORMATION Or PROCESS_VM_READ, 0, proc.th32ProcessID) If lngHwndProcess 0 Then 枚舉系統(tǒng)中正在運(yùn)行的進(jìn)程模板lngReturn = EnumProcessModules(lngHwndProcess, lngModules(1), 200, lngCBSize2) If lngReturn 0 Then 返回特定數(shù)目空格的strModuleName = Space(MAX_PATH)

18、獲取一個(gè)已裝載模板的完整路徑名稱(chēng)lngReturn = GetModuleFileNameExA(lngHwndProcess, lngModules(1), strModuleName, 500)strProcessName = Left(strModuleName, lngReturn)strProcessName = CheckPath(Trim$(strProcessName) If strProcessName Then 判斷ITEM是否已經(jīng)存在 j = HaveItem(proc.th32ProcessID) If j = 0 Then 如果沒(méi)有該進(jìn)程 獲取短文件名exename

19、= Dir(strProcessName, vbNormal Or vbHidden Or vbReadOnly Or vbSystem) If exename = hh.exe Then MsgBox SetProClass(proc.th32ProcessID, IDLE_PRIORITY_CLASS) End If 添加進(jìn)程item Set item = List1.ListItems.Add(, ID: & CStr(proc.th32ProcessID), exename) 進(jìn)程IDitem.SubItems(1) = proc.th32ProcessID 內(nèi)存使用 pmc.cb =

20、 LenB(pmc) 獲得進(jìn)程的內(nèi)存信息,在這里就是計(jì)算該進(jìn)程占用內(nèi)存多少lret = GetProcessMemoryInfo(lngHwndProcess, pmc, pmc.cb) n = n + pmc.WorkingSetSize WKSize = pmc.WorkingSetSize / 1024item.SubItems(3) = WKSize & K 進(jìn)程序IP號(hào)item.SubItems(2) = GetProClass(proc.th32ProcessID) 進(jìn)程圖標(biāo)將獲取的圖標(biāo)加到IMAGE控件中IM1.ListImages.Add , strProcessName, G

21、etIcon(strProcessName) item.SmallIcon = IM1.ListImages.item(strProcessName).Key Else 如果已經(jīng)有該進(jìn)程 pmc.cb = LenB(pmc) 獲得進(jìn)程的內(nèi)存信息,在這里就是計(jì)算該進(jìn)程占用內(nèi)存多少lret = GetProcessMemoryInfo(lngHwndProcess, pmc, pmc.cb) n = n + pmc.WorkingSetSize WKSize = pmc.WorkingSetSize / 1024 計(jì)算占用內(nèi)存 If CLng(List1.ListItems.item(j).Sub

22、Items(3) WKSize Then List1.ListItems.item(j).SubItems(3) = WKSize & K 獲得進(jìn)程的類(lèi)名 ProClass = GetProClass(proc.th32ProcessID) 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 s

23、nap 顯示總進(jìn)程數(shù) Label3 If i ProCount Then Label3.Caption = 進(jìn)程數(shù): & i ProCount = i End If If n RamUse Then 這里的130是后來(lái)加上去的.是為了和系統(tǒng)自帶的數(shù)值一樣 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調(diào)用

24、系統(tǒng)的關(guān)于窗Private Sub about_Click()On Error Resume Next ShellAbout Me.hwnd, App.Title, 譚建&文程&張?jiān)? ByVal 0&End Sub退出本程序員Private Sub close_Click() tmrRefresh.Enabled = False Unload MeEnd SubPrivate Sub CloseSystem_Click() tmrRefresh.Enabled = False Unload MeEnd Sub應(yīng)用程序切換程序Private Sub cmdSwitch_Click() Dim

25、hwnd As Long Dim X As Long Dim lngWW As Long If LstApp.ListIndex 0 Then Beep: Exit Subhwnd = LstApp.ItemData(LstApp.ListIndex) 取得窗口的結(jié)構(gòu)信息lngWW = GetWindowLong(hwnd, GWL_STYLE) If lngWW And WS_MINIMIZE Then控制窗口的可見(jiàn)性 X = ShowWindow(hwnd, SW_RESTORE) End If 指定一個(gè)窗口新的位置 第2個(gè)參數(shù):將窗口置于Z序列的頂部. X = SetWindowPos(

26、hwnd, HWND_TOP, 0, 0, 0, 0, _ SWP_NOMOVE Or SWP_NOSIZE Or SWP_SHOWWINDOW)End Sub 保持當(dāng)前位置或保持當(dāng)前大小或顯示窗口彈出新建任務(wù)窗Private Sub Command1_Click()frmnew.Show vbModalEnd Sub結(jié)束應(yīng)用程序還有就是在如果列表中沒(méi)有活動(dòng)程序,點(diǎn)擊結(jié)束程序會(huì)退出本身Private Sub Command3_Click() On Error Resume Next If LstApp.ListCount = 0 Then 應(yīng)用程序的類(lèi)名,和程序的標(biāo)題 Dim lpclassn

27、ame As String, lpcaption As String 程序的句柄號(hào) Dim Handle As Long Dim Retval As Long 先是打開(kāi)要關(guān)閉的程序,其它就是將該程序顯示成當(dāng)前程序 Shell LstApp.Text, 1lpclassname = LstApp.Textlpcaption = LstApp.Text 獲得程序的句柄號(hào) Handle = FindWindow(vbNullString, lpcaption) 用函數(shù)關(guān)閉應(yīng)用程序 PostMessage Handle, WM_Close, 0&, 0& 所了和列表控件一至,在這里刪除列表中的該進(jìn)程名

28、 LstApp.RemoveItem LstApp.ListIndex LstApp.refresh 刷新 FindAllAppsEnd Sub結(jié)束指定進(jìn)程功能代碼實(shí)現(xiàn)Private Sub Command4_Click()On Error Resume Next Dim i As Long, hand As Long, id As Long If MsgBox(確定要結(jié)束進(jìn)程 & List1.SelectedItem.Text & 嗎?, vbExclamation + vbOKCancel) = vbCancel Then Exit Subid = CLng(List1.SelectedI

29、tem.SubItems(1) If id 0 Then EndPro id End If ListProcessEnd SubPrivate Sub Command5_Click() Dim AboutRet As Long AboutRet = ExitWindowsEx(EWX_LOGOFF, 0)End Sub注銷(xiāo)用戶功能實(shí)現(xiàn)Private Sub Command6_Click() Dim AboutRet As Long AboutRet = ExitWindowsEx(EWX_LOGOFF, 0)End Sub切換至功能實(shí)現(xiàn)Private Sub cutoverto_Click()

30、 cmdSwitch_Click Me.WindowState = 1End Sub 改變進(jìn)程顯示方式Private Sub Detailed_Click() List1.View = lvwReportEnd Sub結(jié)束應(yīng)用程序功能實(shí)現(xiàn)Private Sub endprograme_Click() Command3_ClickEnd Sub 關(guān)機(jī)功能實(shí)現(xiàn)Private Sub Exit_Click()frmclose.Show vbModalEnd SubCPU效率監(jiān)視CpuPicture(0).ScaleMode = vbPixelsCpuPicture(1).ScaleMode = vb

31、Pixels Set QueryObject = New CCpuwatch對(duì)象初始化 QueryObject.Initialize打開(kāi)時(shí)間控件 tmrRefresh.Enabled = True調(diào)用刷新過(guò)程 tmrRefresh_Timer*獲得所有系統(tǒng)進(jìn)程 ListProcess 窗體總在前 SetTop Me, front.Checked*獲得系統(tǒng)的當(dāng)前用戶cnt& = 199s$ = String$(200, 0)dl& = GetUserName(s$, cnt) Set item = ListView3.ListItems.Add(, , s$, , 2) item.SubItem

32、s(2) = 正在運(yùn)行.item.SubItems(1) = WorkstationID 設(shè)置系統(tǒng)托盤(pán) If WindowState = vbMinimized Then LastState = vbNormal Else LastState = WindowState End If AddToTray Me, TrayEnd SubPrivate Sub Form_Resize() Select Case WindowState Case vbMinimized Me.Visible = False Case vbMaximized Me.Visible = True End Select

33、If WindowState vbMinimized Then LastState = WindowState Me.Visible = True End IfEnd SubPrivate Sub Form_Unload(Cancel As Integer) RemoveFromTray 關(guān)閉托盤(pán) tmrRefresh.Enabled = False Unload MeEnd SubPrivate Sub front_Click() front.Checked = Not front.Checked SetTop Me, front.CheckedEnd SubPrivate Sub jsjc

34、_Click() Command4_ClickEnd SubPrivate Sub List1_ColumnClick(ByVal ColumnHeader As MSComctlLib.ColumnHeader)On Error Resume Next With List1 設(shè)置 Sorted 為 True 以將列表排序。 If (ColumnHeader.Index - 1) = .SortKey Then .SortOrder = (.SortOrder + 1) Mod 2 .Sorted = True Else .Sorted = False .SortOrder = 0 .Sort

35、Key = ColumnHeader.Index - 1 .Sorted = True End If End WithEnd Sub右擊菜單;,并初使化進(jìn)程的優(yōu)先級(jí)別Private Sub List1_MouseDown(Button As Integer, Shift 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.HitT

36、est(X, y).IndexList1.ListItems(j).Selected = True For i = 0 To 5mnuSetProClassSub(i).Checked = False Next Select Case List1.SelectedItem.SubItems(2) Case 實(shí)時(shí): mnuSetProClassSub(0).Checked = True Case 高: mnuSetProClassSub(1).Checked = True Case 較高: mnuSetProClassSub(2).Checked = True Case 標(biāo)準(zhǔn): mnuSetPr

37、oClassSub(3).Checked = True Case 較低: mnuSetProClassSub(4).Checked = True Case 低: mnuSetProClassSub(5).Checked = True End Select PopupMenu you End IfEnd SubPrivate Sub log_Click()frmclose.Show vbModalEnd Sub雙擊切換到另一個(gè)程序Sub lstApp_DblClick() cmdSwitch.Value = TrueEnd Sub任務(wù)窗Function TaskWindow(hwCurr As

38、Long) As Long Dim lngStyle As Long 調(diào)用函數(shù)得到指定窗口的信息第一個(gè)參數(shù)是指定窗口的句柄,第二個(gè)是窗口的樣式lngStyle = GetWindowLong(hwCurr, GWL_STYLE) If (lngStyle And IsTask) = IsTask Then TaskWindow = TrueEnd Function設(shè)置進(jìn)程優(yōu)先級(jí)Public Function SetProClass(ByVal PID As Long, ByVal ClassID As Long)On Error Resume Next Dim hwd As Long 在這里得

39、到一個(gè)句柄hwd = OpenProcess(PROCESS_SET_INFORMATION, 0, PID) 調(diào)用這個(gè)函數(shù)設(shè)置進(jìn)程的優(yōu)先級(jí) 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在這里設(shè)置進(jìn)程優(yōu)先級(jí)Private Sub m

40、nuSetProClassSub_Click(Index As Integer)On Error Resume Next Dim PID As Long, rtn As Long PID = CLng(List1.SelectedItem.SubItems(1) 得到進(jìn)程PID If mnuSetProClassSub(Index).Checked = True Then Exit Sub Select Case Index Case 1: rtn = SetProClass(PID, HIGH_PRIORITY_CLASS) 高 Case 2: rtn = SetProClass(PID,

41、32768) 較高 Case 3: rtn = SetProClass(PID, NORMAL_PRIORITY_CLASS) 標(biāo)準(zhǔn) Case 4: rtn = SetProClass(PID, 16384) 較低 Case 5: rtn = SetProClass(PID, IDLE_PRIORITY_CLASS) 低 End Select If rtn = 0 Then MsgBox 無(wú)法為進(jìn)程 & List1.SelectedItem.Text & 設(shè)置優(yōu)先級(jí)。, vbCriticalEnd Sub彈出新建任務(wù)窗Private Sub newfile_Click()frmnew.Show

42、 vbModalEnd SubPrivate Sub plaseago_Click() cmdSwitch_ClickEnd SubPrivate Sub refresh_Click()frmclose.Show vbModalEnd Sub刷新Private Sub refresh1_Click() FindAllAppsEnd SubPrivate Sub showago_Click() showago.Checked = Not showago.Checked SetTop Me, showago.CheckedEnd SubPrivate Sub small_Click() List1

43、.View = Index + 2 List1.Sorted = TrueEnd SubPrivate Sub SSTab1_DblClick()End SubPrivate Sub Timer3_Timer() Dim X As Long Call GlobalMemoryStatus(minfo) 總的內(nèi)存量 X = -minfo.dwTotalPhys / 1024Label2(0).Caption = Str$(Int(X) 可用的內(nèi)存量 X = minfo.dwAvailPhys / 1024Label2(1).Caption = Str$(Int(X) 系統(tǒng)緩存Label2(2).

44、Caption = -(Val(Label2(0) - Val(Label2(1) - 500) 虛擬內(nèi)存總數(shù) X = minfo.dwTotalVirtual / 1024Label7(0).Caption = Str$(Int(X / 1024) & M 可用虛擬內(nèi)存 X = minfo.dwAvailVirtual / 1024Label7(1).Caption = Str$(Int(X / 1024) & MEnd SubPrivate Sub Timer4_Timer() Line14.X2 = Line14.X2 - 20 Line14.X1 = Line14.X1 - 20 If

45、 Line14.X1 = 0 Then Timer4.Enabled = False Else Timer4.Enabled = True End IfEnd SubPrivate Sub Timer6_Timer() FindAllAppsEnd SubCPU效率監(jiān)視Private Sub tmrRefresh_Timer() Dim Ret As Integer Dim cnt As Integer Dim i As Integer 返回CPU狀態(tài) Ret = QueryObject.Querycnt = Int(Ret / 10 + 1) CpuPicture(0).Cls 清除窗口中的

46、內(nèi)容 If Ret -1 Then For i = 0 To cnt - 1 用PIC控件的LINE方法在PIC上畫(huà)圖,用以顯示CPU的占用率CpuPicture(0).Line (2, 70 - (5 + i * 6)-(79, 70 - (5 + i * 6 + 2), &HFF00&, BF Next i ShiftPointsGraphPoints(UBound(GraphPoints) = RetCpuPicture(1).Cls For cnt = LBound(GraphPoints) To UBound(GraphPoints) - 1CpuPicture(1).Line (c

47、nt, 80 - GraphPoints(cnt)-(cnt + 1, 80 - GraphPoints(cnt + 1), &HFF00& Next cnt CpuLabel.Caption = CStr(Ret) + % Label4.Caption = CPU 使用: &CStr(Ret) + % 托盤(pán)顯示CPU使用率 SetTrayTip CPU 使用: &CStr(Ret) + %End IfEnd SubCPU效率監(jiān)視Sub ShiftPoints() Dim cnt As Integer For cnt = LBound(GraphPoints) To UBound(GraphPoints) - 1GraphPoints(cnt) = GraphPoints(cnt + 1) Next cntEnd Sub判斷item是否存在Public Function HaveItem(ByVal itemID As Long) As LongOn Error GoTo zbb HaveItem = List1.ListItems(ID: & CStr(itemID).IndexExit Functionzbb: HaveItem = 0End Function結(jié)束一個(gè)進(jìn)程

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論