2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩23頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論