版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 課程設(shè)計報告</b></p><p> 課程設(shè)計題目: Windows系統(tǒng) </p><p> 資源管理器與設(shè)備管理器 </p><p> 學(xué) 院: 計算機(jī) </p><p> 專業(yè)班
2、級: 信息安全 </p><p> 年 級: 09級 </p><p> 姓 名: </p><p> 學(xué) 號: </p><p> 完成時間: 2012 年 7 月 5 日</p&g
3、t;<p> 成 績: </p><p> 指導(dǎo)教師: </p><p><b> 課程設(shè)計任務(wù)書</b></p><p> 目錄 </p><p> 1.1資源管
4、理器6</p><p> 1.1.1資源管理器簡介6</p><p> 1.1.2程序設(shè)計思想及過程6</p><p> 1.1.3系統(tǒng)結(jié)構(gòu)設(shè)計7</p><p> 1.1.4運行結(jié)果10</p><p> 1.2任務(wù)管理器13</p><p> 1.2.1任務(wù)管理器簡介
5、13</p><p> 1.2.2 程序設(shè)計思想及過程14</p><p> 1.2.3 程序流程圖16</p><p> 1.2.4.運行結(jié)果22</p><p> 2.1課程設(shè)計總結(jié)24</p><p> 2.1.1 心得體會24</p><p> 2.1.2 小組分
6、工25</p><p> 2.1.3參考文獻(xiàn)25</p><p><b> 1.1資源管理器</b></p><p> 1.1.1資源管理器簡介</p><p> 資源管理器是Windows 系統(tǒng)提供的資源管理工具,我們可以用它查看本臺電腦的所有資源,特別是它提供的樹形的文件系統(tǒng)結(jié)構(gòu),使我們能更清楚、更直觀地
7、認(rèn)識電腦的文件和文件夾,這是“我的電腦”所沒有的。在實際的使用功能上“資源管理器”和“我的電腦”沒有什么不一樣的,兩者都是用來管理系統(tǒng)資源的,也可以說都是用來管理文件的。另外,在“資源管理器”中還可以對文件進(jìn)行各種操作,如:打開、查看文件內(nèi)容等。 </p><p> 1.1.2程序設(shè)計思想及過程</p><p> 本次課程設(shè)計主要使用Visual Studio 常規(guī)開發(fā)設(shè)置MFC完成實
8、現(xiàn)創(chuàng)建一個與 Windows 資源管理器類似的應(yīng)用程序,創(chuàng)建一個包含兩個窗格的窗口。左窗格將包含顯示了您在分層視圖桌面的一 CMFCShellTreeCtrl 對象,顯示文件在左窗格中選擇的右窗格將包含 CMFCShellListCtrl 。 </p><p> 通過使用 MFC 應(yīng)用程序向?qū)?,?chuàng)建新 MFC 應(yīng)用程序。創(chuàng)建單文檔視圖結(jié)構(gòu),調(diào)試自動生成資源管理的初始框架。窗口包括菜單欄,工具欄,日歷以及文件夾,
9、樹形結(jié)構(gòu)的相關(guān)項目部分。相應(yīng)的消息如文件的打開,日歷的顯示都是自動生成。本次資源管理設(shè)計主要是將左窗口的樹形項目與右窗口的列表相關(guān)聯(lián)。</p><p> 資源管理器主要是樹形結(jié)構(gòu)引起的嵌套結(jié)構(gòu),可以通過樹形結(jié)構(gòu)更簡單查看各種文件夾和文件以及相關(guān)信息,可以更方便的查看文件夾和文件之間的關(guān)系,還有各種大圖標(biāo)和小圖標(biāo),以不同的視圖方法查看文件,如列表、平鋪等方法,而右鍵菜單中可以實現(xiàn)對文件的打開、復(fù)制、粘貼、查看屬性
10、等功能的實現(xiàn)。</p><p> 首先添加 CMFCShellListCtrl 實例添加到向?qū)?chuàng)建的視圖。 MainFrm.h 頭文件中創(chuàng)建 CMFCShellTreeCtrl 對象的訪問器。然后在視圖類中用 OnCreate ()方法我們創(chuàng)建 CMFCShellListCtrl 對象。OnSize ()方法視圖重繪,任意更改應(yīng)用程序窗口的大小。最后連接 CMFCShellTreeCtrl 和 CMFCShel
11、lListCtrl 對象使用 CMFCShellTreeCtrl::SetRelatedList 方法。 程序最終調(diào)試運行成功。</p><p> 1.1.3系統(tǒng)結(jié)構(gòu)設(shè)計</p><p> 這次設(shè)計主要實現(xiàn)資源管理器的各種結(jié)構(gòu),左窗口采用樹型目錄的結(jié)構(gòu),雙擊一個項目,可以展開多個子項目,再次雙擊又合攏。同時右窗口顯示相應(yīng)的內(nèi)容。主要的結(jié)構(gòu)是資源管理器可以建立多個文件夾,多個文件,文件夾
12、里可以包含文件,也可以不包含文件。用戶可建立的文件類型可以有多種。單擊右鍵,出現(xiàn)菜單,實現(xiàn)對文件的各種管理,用戶對文件的管理主要是打開文件,復(fù)制文件,粘貼文件,刪除文件,查看文件的屬性。如下為系統(tǒng)結(jié)構(gòu)圖:</p><p><b> 以下為程序流程圖:</b></p><p><b> 創(chuàng)建用戶和文件夾</b></p><p
13、><b> 創(chuàng)建文件</b></p><p><b> 刪除文件夾和文件</b></p><p> 復(fù)制,剪切,對文件和目錄的移動(因為后面三個操作都只涉及到簡單的指針修改,故只畫右邊一個圖。)</p><p><b> 1.1.4運行結(jié)果</b></p><p>
14、;<b> 初始運行后:</b></p><p> 文件列表右鍵菜單項功能:</p><p><b> 菜單欄部分:</b></p><p><b> 1.2任務(wù)管理器</b></p><p> 1.2.1任務(wù)管理器簡介</p><p> W
15、indows任務(wù)管理器提供了有關(guān)計算機(jī)性能的信息,并顯示了計算機(jī)上所運行的程序和進(jìn)程的詳細(xì)信息;如果連接到網(wǎng)絡(luò),那么還可以查看網(wǎng)絡(luò)狀態(tài)并迅速了解網(wǎng)絡(luò)是如何工作的。它的用戶界面提供了文件、選項、查看、窗口、關(guān)機(jī)、幫助等六大菜單項,其下還有應(yīng)用程序、進(jìn)程、性能、聯(lián)網(wǎng)、用戶等五個標(biāo)簽頁,窗口底部則是狀態(tài)欄,從這里可以查看到當(dāng)前系統(tǒng)的進(jìn)程數(shù)、CPU使用比率、更改的內(nèi)存<容量等數(shù)據(jù),默認(rèn)設(shè)置下系統(tǒng)每隔兩秒鐘對數(shù)據(jù)進(jìn)行1次自動更新,也可以點擊
16、“查看→更新速度”菜單重新設(shè)置。下面具體從幾個方面講下功能:</p><p> 1.應(yīng)用程序: 這里顯示了所有當(dāng)前正在運行的應(yīng)用程序,不過它只會顯示當(dāng)前已打開窗口的應(yīng)用程序,而QQ、MSN Messenger等最小化至系統(tǒng)托盤區(qū)的應(yīng)用程序則并不會顯示出來??梢栽谶@里點擊“結(jié)束任務(wù)”按鈕直接關(guān)閉某個應(yīng)用程序;點擊“新任務(wù)”按鈕,可以直接打開相應(yīng)的程序、文件夾、文檔或Internet資源,如果不知道程序的名稱,可
17、以點擊“瀏覽”按鈕進(jìn)行搜索。</p><p> 2.進(jìn)程: 這里顯示了所有當(dāng)前正在運行的進(jìn)程,包括應(yīng)用程序、后臺服務(wù)等,那些隱藏在系統(tǒng)底層深處運行的病毒程序或木馬程序都可以在這里找到,當(dāng)然前提是你要知道它的名稱。找到需要結(jié)束的進(jìn)程名,然后執(zhí)行右鍵菜單中的“結(jié)束進(jìn)程”命令,就可以強(qiáng)行終止,不過這種方式將丟失未保存的數(shù)據(jù),而且如果結(jié)束的是系統(tǒng)服務(wù),則系統(tǒng)的某些功能可能無法正常使用。只能顯示系統(tǒng)中當(dāng)前進(jìn)行的
18、進(jìn)程,而Process Explorer可以樹狀方式顯示出各個進(jìn)程之間的關(guān)系,即某一進(jìn)程啟動了哪些其他的進(jìn)程,還可以顯示某個進(jìn)程所調(diào)用的文件或文件夾。 </p><p> 3.性能: 從任務(wù)管理器中我們可以看到計算機(jī)性能的動態(tài)概念。例如CPU使用情況:表明處理器工作時間百分比的圖表,該計數(shù)器是處理器活動的主要指示器,查看該圖表可以知道當(dāng)前使用的處理時間是多少。CPU使用記錄:顯示處理器的使用程序隨時間
19、的變化情況的圖表,圖表中顯示的采樣情況取決于“查看”菜單中所選擇的“更新速度”設(shè)置值,“高”表示每秒2次,“正常示每兩秒1次,“低”表示每四秒1次,“暫停”表示不自動更新。 </p><p> CPU使用記錄:顯示處理器的使用程序隨時間的變化情況的圖表,圖表中顯示的采樣情況取決于“查看”菜單中所選擇的“更新速度”設(shè)置值,“高”表示每秒2次,“正?!北硎久績擅?次,“低”表示每四秒1次,“暫?!北硎静蛔詣痈?。
20、此外還有如PF使用情況,頁面使用記錄等。</p><p> 4.聯(lián)網(wǎng): 這里顯示了本地計算機(jī)所連接的網(wǎng)絡(luò)通信量的指示,使用多個網(wǎng)絡(luò)連接時,我們可以在這里比較每個連接的通信量。 </p><p> 5.用戶: 這里顯示了當(dāng)前已登錄和連接到本機(jī)的用戶數(shù)、標(biāo)識(標(biāo)識該計算機(jī)上的會話的數(shù)字ID)、活動狀態(tài)(正在運行、已斷開)、客戶端名,可以點擊“注銷”按鈕重新登錄,或者通過“
21、斷開”按鈕連接與本機(jī)的連接,如果是局域網(wǎng)用戶,還可以向其他用戶發(fā)送消息呢。 </p><p> 1.2.2 程序設(shè)計思想及過程</p><p> 我們設(shè)計的設(shè)備管理器所具有的功能如圖: </p><p> 我們采用的是C++語言,但由于C++沒有提供GUI的內(nèi)置支持,所以我們用MFC創(chuàng)建窗體。下面具體介紹一下主要功能的實現(xiàn):</p><p&
22、gt;<b> 窗體設(shè)計:</b></p><p> 使用MFC封裝技術(shù)。分別創(chuàng)建CFrameWnd,CView,CDocument的派生類,加載菜單資源:CMenu menu;menu.LoadMenu(菜單ID);,構(gòu)造CFrameWnd派生類對象。調(diào)用CFrameWnd派生類對象的Create函數(shù)等。</p><p> 2.進(jìn)程/線程/模塊信息:</
23、p><p> OpenProcessToken(GetCurrentProcess(),TOKEN_QUERY │TOKEN_ADJUST_PRIVILEGES,&hToken); //打開進(jìn)程的令牌,提升權(quán)限;</p><p> AdjustTokenPrivileges(hToken,FALSE,&TokenPrivileges,sizeof(TOKEN_PRIVILE
24、GES),NULL,NULL);/將進(jìn)程的權(quán)限提升到支持調(diào)試(Debug);</p><p> CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);//創(chuàng)建進(jìn)程的快照Process32First(hProcessSnap,&ProcessEntry32)</p><p> Process32First(hProcessSnap,&
25、;ProcessEntry32);//枚舉所有進(jìn)程;OpenProcess(PROCESS_QUERY_INFORMATION,FALSE,ProcessEntry32.th32ProcessID);//打開特定進(jìn)程,以查詢進(jìn)程相關(guān)信息;GetProcessTimes(hProcess,&CreateTime,&ExitTime,&KernelTime,&UserTime)//獲取進(jìn)程的時間信息;<
26、/p><p> GetProcessMemoryInfo(hProcess,&PMCounter,sizeof(PMCounter));//獲取進(jìn)程的存儲區(qū)信息;</p><p> GetPriorityClass(hProcess);//獲取進(jìn)程的優(yōu)先權(quán);GetProcessIoCounters(hProcess,&IoCounters);//獲取進(jìn)程的IO使用情況;Cr
27、eateToolhelp32Snapshot(TH32CS_SNAPMODULE, dwProcessID);//創(chuàng)建模塊快照Module32First(hModuleSnap, &ModuleEntry32);</p><p> Module32Next(hModuleSnap, &ModuleEntry32);//枚舉進(jìn)程模塊信息;CreateToolhelp32Snapshot(TH32C
28、S_SNAPTHREAD, 0);//創(chuàng)建線程快照Thread32First(hThreadSnap, &ThreadEntry32);Thread32Next(hThreadSnap,&ThreadEntry32);//枚舉線程信息;OpenThread(THREAD_ALL_Access,FALSE,ThreadEntry32.th32ThreadID);</p><p> //打開線程,須
29、自己獲得此函數(shù)地址;</p><p> TerminateProcess(hProcess,0);//終止進(jìn)程;</p><p> SuspendThread(hThread);//懸掛線程;ResumeThread(hThread);//激活線程;</p><p><b> 3系統(tǒng)性能</b></p><p>
30、 獲取系統(tǒng)的存儲器使用情況GetPerformanceInfo(&PerfInfo,sizeof(PERFORMACE_INFORMATION))</p><p> //獲取系統(tǒng)性能信息;</p><p><b> 用戶信息</b></p><p> NetUserEnum(NULL,dwLevel,FILTER_NORMAL_A
31、CCOUNT,(LPBYTE*)&pBuf,</p><p> dwPrefMaxLen,&dwEntriesRead,&dwTotalEntries,&dwResumeHandle);</p><p> //枚舉系統(tǒng)用戶信息;</p><p> NetUserDel(NULL,lpUserNameW);//刪除指定用戶;<
32、;/p><p> 計算進(jìn)程CPU占用率:</p><p> 在一個特定時間段內(nèi)計算特定進(jìn)程的總時間和所有進(jìn)程的總時間,它們的比值就是那個特定進(jìn)程的確CPU占有率。</p><p><b> 關(guān)機(jī)</b></p><p> AdjustTokenPrivileges(hToken,FALSE,&TokenPri
33、vileges,sizeof(TOKEN_PRIVILEGES),NULL,NULL);//調(diào)整進(jìn)程令牌,使其支持關(guān)機(jī);</p><p> ExitWindowsEx(EWX_LOGOFF,0);//注銷系統(tǒng);</p><p> LockWorkStation();//鎖定系統(tǒng);</p><p> InitiateSystemShutdown(NULL,szM
34、essage,dwTimeout,FALSE,bSig);</p><p> //支持到記時和消息顯示的關(guān)機(jī)/重啟;</p><p> SetSystemPowerState(bSig,FALSE);//系統(tǒng)休眠/冬眠;</p><p> 1.2.3 程序流程圖</p><p><b> 1.系統(tǒng)結(jié)構(gòu):</b>&
35、lt;/p><p><b> 2.進(jìn)程流程圖</b></p><p> Windows任務(wù)管理器進(jìn)程獲取流程圖</p><p><b> 啟動新進(jìn)程流程圖</b></p><p><b> 終止進(jìn)程流程圖</b></p><p> 1.2.4.運行
36、結(jié)果</p><p><b> 2.1課程設(shè)計總結(jié)</b></p><p> 2.1.1 心得體會</p><p> 這次課程設(shè)計我們選擇的是 Windows系統(tǒng)資源管理器與任務(wù)管理器。利用C++語言和MFC封裝技術(shù),編寫程序,完成管理器的基本功能。</p><p> 由于要實現(xiàn)的功能較多較復(fù)雜,而且對于MFC不
37、太熟悉,剛開始的時候我們并沒有很好的設(shè)計思路,但是上學(xué)期有過WindowS編程學(xué)習(xí)的經(jīng)歷,所以上手也比較快,搜集了有關(guān)MFC編程的一些基本的框架,特別是窗體的設(shè)計和信息傳遞。一開始把程序設(shè)計復(fù)雜化了,感覺無從下手。后來通過查找資料和請教別人,了解了基本的實現(xiàn)框架,我們理清了設(shè)計思路。此次設(shè)計重要的是獲取進(jìn)程,文件等信息,主要是內(nèi)存映射以及使用MFC怎么實現(xiàn)。然而MFC的API很方便地提供了相應(yīng)的文件操作封裝。我們先按思路畫出程序流程圖,
38、然后根據(jù)流程圖分配任務(wù)。在領(lǐng)到自己的任務(wù)后,我們各自編寫任務(wù)部分的代碼。很多是我們不會或已經(jīng)忘記了。所以剛開始時很焦急,有挫敗感。但通過翻查資料,請教別人和不斷調(diào)試,慢慢知道該怎么弄。最后我們把各自的代碼放在一起進(jìn)行整合和調(diào)試,在整合過程中,我們學(xué)習(xí)組內(nèi)其他人找的代碼。在完成整合過程中,我們最頭痛的就是總是出現(xiàn)細(xì)小的編譯錯誤,弄得我們很無奈,更覺得編程要很心細(xì)才行。最后終于通過了編譯,可以實現(xiàn)功能,我們那一刻的喜悅是無法描述的</
39、p><p> 通過此次課程設(shè)計,不僅讓我們學(xué)到了MFC編程的有關(guān)技巧,以及管理器是怎么運行實現(xiàn)的,當(dāng)然對于計算機(jī)系統(tǒng)的理解也是更上了一層。此次設(shè)計實踐,更加的鍛煉了我們的動手能力.理論與實際相結(jié)合的學(xué)習(xí)方式,同時也讓我們各方面的能力得到了鍛煉和提高。但同時我們深深感受到自己還有很多方面的不足,還需要掌握和學(xué)習(xí)更多的知識.我們要培養(yǎng)對編程的興趣,多多動手練習(xí),我們會更加努力的!</p><p>
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 操作系統(tǒng)課程設(shè)計---windows系統(tǒng)資源管理器與任務(wù)管理器
- 操作系統(tǒng)課程設(shè)計--windows資源管理器與任務(wù)管理器
- 操作系統(tǒng)課程設(shè)計報告---文件資源管理器
- 了解windows操作系統(tǒng)任務(wù)管理器
- 仿資源管理器的java課程設(shè)計
- 基于android平臺資源管理器
- 操作系統(tǒng)原理課程設(shè)計---進(jìn)程管理器的模擬實現(xiàn)
- windows任務(wù)管理器
- 基于android平臺的資源管理器設(shè)計.pdf
- 操作系統(tǒng)課程設(shè)計報告-linux頁面換入換出分析、進(jìn)程管理器
- windows任務(wù)管理器05527
- windows任務(wù)管理器代碼
- windows任務(wù)管理器進(jìn)程大全
- windows xp系統(tǒng)任務(wù)管理器幾個另類用法
- 桌面Linux資源管理器研究和改進(jìn).pdf
- 進(jìn)程管理器課程設(shè)計
- GPIB-VXI零槽資源管理器研究.pdf
- 《資源管理器──文件夾的管理》的總體教學(xué)設(shè)計
- windows任務(wù)管理器各進(jìn)程詳解
- 常用windows任務(wù)管理器進(jìn)程詳解
評論
0/150
提交評論