freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

簡(jiǎn)述windows進(jìn)程管理工具的原理和實(shí)現(xiàn)-資料下載頁(yè)

2024-12-04 00:46本頁(yè)面

【導(dǎo)讀】課題設(shè)計(jì)就是模擬Windows任務(wù)管理器,開(kāi)發(fā)一個(gè)功能更完善的。Windows進(jìn)程管理軟件。主要設(shè)計(jì)的是一個(gè)基于對(duì)話框的VC++程序,在主對(duì)話。件用于選擇并顯示頁(yè)面。程模塊、系統(tǒng)資源使用情況。程序還實(shí)現(xiàn)了結(jié)束任務(wù)、切換任務(wù)、終止進(jìn)程等對(duì)。在程序的設(shè)計(jì)過(guò)程中,通過(guò)調(diào)用WindowsAPI函數(shù)而獲得。用情況提供了很好的參考。

  

【正文】 ()函數(shù)執(zhí)行后,被終止的進(jìn)程是不會(huì)得到任何關(guān)于程序退出的通知的。也就是說(shuō),被終止的進(jìn)程是無(wú)法在結(jié)束運(yùn)行前進(jìn)行退出前的收尾工作的。所以,通常只有在其他任何方法都無(wú)法迫使進(jìn)程退出時(shí)才會(huì)考慮使用TerminateProcess()去強(qiáng)制結(jié)束進(jìn)程的。下面給出 TerminateProcess()的函數(shù)原型: BOOL TerminateProcess(HANDLE hProcess,UINT uExitCode)。參數(shù) hProcess和 uExitCode 分別為進(jìn)程句柄和退出代碼。 第二個(gè)參數(shù) uExitCode,當(dāng)它為 0 時(shí),在調(diào)用 TerminateProcess()殺死進(jìn)程后, Windows 又將自動(dòng)喚醒該進(jìn)程;當(dāng)它為1時(shí),殺死進(jìn)程后, Windows 不會(huì)再喚醒該進(jìn)程。 本程序 中的結(jié)束進(jìn)程,是指強(qiáng)制結(jié)束其他應(yīng)用程序運(yùn)行的進(jìn)程,應(yīng) 采用TerminateProcess()強(qiáng)制結(jié)束。 要終止進(jìn)程先要用 OpenProcess 函數(shù)將進(jìn)程打開(kāi),然后用 TerminateProcess 函數(shù)結(jié)束進(jìn)程。 HANDLE hProcess=OpenProcess(PROCESS_TERMINATE,FALSE, (m_iCurSel))。 TerminateProcess(hProcess,1)。 //終止進(jìn)程 終止進(jìn)程的流程如圖 9。 圖 9 終止進(jìn)程 刪除文件 當(dāng)發(fā)現(xiàn)進(jìn)程列表中有不正常的程序,如病毒或木馬程序,我們不僅需要把它們結(jié)束了,還需要將對(duì)應(yīng)的文件刪除,使其不能再次運(yùn)行。 刪除文件同樣需要用OpenProcess 函數(shù)將進(jìn)程打開(kāi), 用 FindFirstFile 找到文件, 然后用TerminateProcess 函數(shù)結(jié)束進(jìn)程,再刪除該進(jìn)程對(duì)應(yīng)的文件。 HANDLE hProcess=OpenProcess(PROCESS_TERMINATE,FALSE, 第 18 頁(yè) 共 25 頁(yè) (m_iCurSel))。 HANDLE h=::FindFirstFile(filename,amp。fData)。//查找文件 TerminateProcess(hProcess,1)。 //終止進(jìn)程 ::DeleteFile()。 //刪除文件 保存進(jìn)程信息到文件 用文件類(lèi)創(chuàng)建一個(gè) html 文件,將當(dāng)前進(jìn)程列表中的各項(xiàng)信息按照網(wǎng)頁(yè)格式寫(xiě)入文件中 。 系統(tǒng)性能頁(yè)面設(shè)計(jì) 該頁(yè)面 主要顯示 CPU 使用率和內(nèi)存使用率的圖形, 各種內(nèi)存的使用情況,如頁(yè)文件,虛擬內(nèi)存,物理內(nèi)存等 ,以及系統(tǒng)當(dāng)前信息,如系統(tǒng) 名、計(jì)算機(jī)名、當(dāng)前用戶(hù)名等 。 繪制 CPU使用率圖 繪制內(nèi)存使用率圖 取得內(nèi)存使用率可通過(guò)一個(gè)全局內(nèi)存函數(shù) GlobalMemoryStatus 實(shí)現(xiàn),該函數(shù)原型為: MEMORYSTATUS MemStat。 = sizeof(MEMORYSTATUS)。 GlobalMemoryStatus(amp。MemStat)。 m_ulNewUsges = 。 繪制圖形也是通過(guò)位圖繪制函數(shù)進(jìn)行繪制,方法和繪制 CPU 使用率圖一樣。內(nèi)存使用率圖如圖 11。 圖 11 內(nèi)存使用率 第 19 頁(yè) 共 25 頁(yè) 其他性能 顯示 其他性能主要包括物理內(nèi)存、虛擬內(nèi)存和頁(yè)文件的使用情況。它們都是通過(guò)GlobalMemoryStatus 函數(shù)得到的。 MEMORYSTATUS MemStat。 = sizeof(MEMORYSTATUS)。 GlobalMemoryStatus(amp。MemStat)。 //物理內(nèi)存總大小 //物理內(nèi)存可用數(shù) //頁(yè)文件總大小 //頁(yè)文件可用數(shù) //虛擬內(nèi)存總大小 //虛擬內(nèi)存可用數(shù) 系統(tǒng)信息 顯示 系統(tǒng)信息包括當(dāng)前操作系統(tǒng)名、用戶(hù)名、計(jì)算機(jī)名等。 獲取操作系統(tǒng)名需要用到微軟標(biāo)準(zhǔn)函數(shù) GetVersionEx()。在 中定義了 OSVERSIONINFO結(jié)構(gòu), OSVERSIONINFO結(jié)構(gòu)包含了操作系統(tǒng)的版本信息,包括操作系統(tǒng)的主版本號(hào)、副版本號(hào)、創(chuàng)建號(hào)、以及操作系統(tǒng)平臺(tái) ID 號(hào)和關(guān)于操作系統(tǒng)的其他信息。 typedef struct _OSVERSIONINFO{ DWORD dwOSVersionInfoSize。//指定該數(shù)據(jù)結(jié)構(gòu)的字節(jié)大小 DWORD dwMajorVersion。 //操作系統(tǒng)的主版本號(hào) DWORD dwMinorVersion。 //操作系統(tǒng)的副版本號(hào) DWORD dwBuildNumber。 //操作系統(tǒng)的創(chuàng)建號(hào) DWORD dwPlatformId。 //操作系統(tǒng) ID 號(hào) TCHAR szCSDVersion[128]。 //關(guān)于操作系統(tǒng)的一些附加信息 }OSVERSIONINFO。 其中 dwPlatformId 可為以下值: VER_PLATFORM_WIN32s:標(biāo)識(shí)為 Windows 。 VER_PLATFORM_WIN32_WINDOWS:標(biāo)識(shí)為 Windows 95 或 Windows 98; dwMinorVersion: 95 操作系統(tǒng) 值為 0, 98 操作系統(tǒng) 則大于 0; VER_PLATFORM_WIN32_NT:標(biāo)識(shí)為 WindowsNT。 獲取用戶(hù)名直接用 ::GetUserName()函數(shù)即可。獲取計(jì)算機(jī)名直接使用GetComputerName()函數(shù)。 char Temp[20]。 CString UserName。 第 20 頁(yè) 共 25 頁(yè) unsigned long lLength=20。 memset(Temp,0,20)。 ::GetUserName(Temp,amp。lLength)。 UserName = Temp。//用戶(hù)名 LPTSTR lpszSystemInfo。 DWORD cchBuff = 256。 TCHAR tchBuffer2[256]。 lpszSystemInfo = tchBuffer2。 GetComputerName(lpszSystemInfo,amp。cchBuff)。//計(jì)算機(jī)名 4 測(cè)試結(jié)果 測(cè)試環(huán)境 系統(tǒng) : Windows XP。 硬件: CPU: AMD Athlon(tm)xp 2500+ 內(nèi)存: 512M 硬盤(pán): SATA 80G 測(cè)試方法 在 Windows XP 系統(tǒng)上運(yùn)行設(shè)計(jì)的程序。 查看程序是否完成了它應(yīng)有的功能 。 打開(kāi) Windows 系統(tǒng)自帶的任務(wù)管理器。 將程序取得的任務(wù)、進(jìn)程和系統(tǒng)資源使用情況等信息與 Windows 系統(tǒng)自帶的任務(wù)管理器中的信息進(jìn)行對(duì)比,查看取得的信息是否 準(zhǔn) 確。 測(cè)試結(jié)果 程序在 Windows XP 系統(tǒng)上能正常運(yùn)行。 在任務(wù)頁(yè)面中能查看任務(wù)名、 PID、運(yùn)行狀態(tài)信息;能結(jié)束任務(wù)、切換任務(wù)。 在進(jìn)程頁(yè) 面中能查看進(jìn)程、進(jìn)程模塊及線程信息;能結(jié)束進(jìn)程,能正確地將當(dāng)前的所有進(jìn)程信息保存到文件中。 將獲取的進(jìn)程信息與 Windows 自帶的任務(wù)管理器所取得的信息進(jìn)行比較,結(jié)果一致,如圖 12, 13。 第 21 頁(yè) 共 25 頁(yè) 圖 12 程序取得的進(jìn)程信息 圖 13 Windows自帶任務(wù)管理器進(jìn)程信息 在系統(tǒng)功能頁(yè)面中能以 圖形方式顯示 CPU、內(nèi)存的使用率;能取得系統(tǒng)其他資源的使用情況,如物理內(nèi)存、虛擬內(nèi)存和頁(yè)文件的使用情況 。 取得的系統(tǒng)資源使用情況與 Windows 自帶的任務(wù)管理器 取得的 信息進(jìn)行 比較, 如圖 14,將數(shù)據(jù)進(jìn)行計(jì)算后 結(jié)果一致。 第 22 頁(yè) 共 25 頁(yè) 圖 14 資源使用情況對(duì)比圖 結(jié) 論 課題研究設(shè)計(jì)的進(jìn)程管理器 能夠顯示任務(wù)信息, 顯示進(jìn)程、線程模塊等信息,能夠結(jié)束任務(wù)、 終止進(jìn)程 ,并能以圖表的形式顯示 CPU、內(nèi)存使用率 ,操作簡(jiǎn)單,能基本 滿足用戶(hù)對(duì) Windows 進(jìn)程管理 的需求 。 但有些進(jìn)程管理的高級(jí)功能還未在設(shè)計(jì)之中,如對(duì)進(jìn)程模塊 ( DLL 文件) 的卸載與加載 、對(duì)異常進(jìn)程的警告 等,今后還需進(jìn)一步學(xué)習(xí)和了解 Windows核心編程,熟悉 動(dòng)態(tài)鏈接庫(kù) DLL的操作等知識(shí)。 通過(guò)課題的研究, 得出 一個(gè)重要結(jié)論: 在 VC++環(huán)境進(jìn)行 Windows 系統(tǒng)編程,不僅需要熟悉 VC++編程環(huán)境,還需要 熟悉和利用 系統(tǒng)提供給我們的許多編程接口, 即 API 編程,這樣能大大地提高編程效率。在 課題的設(shè)計(jì)過(guò)程中 ,任務(wù)信息、進(jìn)程信息和系統(tǒng)資源使用情況都是利用 API 函數(shù)而取得的。通過(guò)課題 的 設(shè)計(jì), 鞏固了 以前所學(xué)的基本知識(shí),更學(xué)到了軟件設(shè)計(jì)的基本方法、技巧和流程, 這對(duì)以后的學(xué)習(xí)工作有很大的幫助。 參考文獻(xiàn) [1] 湯子瀛 ,哲風(fēng)屏 ,湯小丹 . 計(jì)算機(jī)操作系統(tǒng) [M].西安 : 西安電子科大出版社 ,2021。 [2] (美 )Steven Holzner. Visual C++ [M].北京: 電子工業(yè)出版社 ,2021。 [3] (美 )Ben Ezzell. Windows環(huán)境下 VC++編程 [M].北京: 電子工業(yè)出版社 ,2021。 [4] (美 )Jeffrey Richter. Windows核心編程 [M].北京: 機(jī)械工業(yè) 出版社 ,2021。 [5] 齊舒創(chuàng)作室 . Windows2021高級(jí)變成技巧 [M].北京: 清華大學(xué) 出版社 ,2021。 [6] (美 )John . Visual C++MFC編程實(shí)例 [M].北京: 機(jī)械工業(yè) 出版社 ,2021。 [7] (美 )David . VC++技術(shù)內(nèi)幕 [M].北京: 清華大學(xué) 出版社 ,2021。 [8] 張海棠 . Visual C++ [M].北京: 航空工業(yè) 出版社 ,2021。
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1