windows任務管理器開發(fā)原理與實現(xiàn)05596_第1頁
已閱讀1頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、Windows任務管理器開發(fā)原理與實現(xiàn)任務管理器開發(fā)原理與實現(xiàn)Windows2000XP內含的任務管理器(Taskmgr)相信大家都熟悉吧,相比之下XP里的要比2000功能更加強大,返回的信息也更加的詳細,不過您是否覺得還有很多希望獲得的消息沒有包含在里面嗎?您是否覺得Windows的系統(tǒng)管理工具箱里的東西太分散了嗎?下面就讓我們看看它們的開發(fā)原理,并動手實現(xiàn)一個真正的任務管理器?,F(xiàn)在我們是調用Win32API來實現(xiàn)這些功能的,但是大家

2、都說MS隱藏了太多的細節(jié),以后我們將討論更多關于Windows內核的東東??赡艽蠹覍θ蝿展芾砥骼镒钍煜さ墓δ芤獢?shù)進程管理了,常常我們在懷疑中了病毒木馬的時候都會看看任務管理器里有沒有什么特別的進程在運行,所以進程查看器應該是一個非常重要的功能。我們除了需要獲得進程的名稱外,還有什么呢?當然包括它的進程標識符(ProcessID),用戶信息(UserName),CPU使用時間(CPUTime)和存儲器的使用情況(MemyUsage),還有

3、它的優(yōu)先權(BasePriity)。CPU和Memy信息可以幫助我們分析進程的運行情況,而優(yōu)先權可以表示進程在CPU分配處理器使用時的優(yōu)先情況。這些都是通用的進程信息,讓我們再看看其他的信息吧。進程的父進程標識符(ParentProcessID),創(chuàng)建時間(CreateTime),程序名稱等在很多情況下也是我們關心的信息。我們再看看進程相關的性能信息。在Windows下通常有兩種模式:內核模式(Kernel:Level0)和用戶模式(U

4、ser:Level3),進程往往在兩種模式中來回切換,所以可以獲得進程在內核模式和用戶模式各自的使用時間。同時還包括進程相關的工作集(WkingSet),分頁池(PagedPool),非分頁池(NonePagedPool)和頁面文件(PageFile)信息。進程相關的IO操作包括讀寫其他等動作,我們可以獲得這些操作的次數(shù)和傳送數(shù)據(jù)的數(shù)量。如果您懷疑某個進程是木馬,那您還想獲得哪些信息呢?簡單的進程名稱應該是不夠的吧!我們希望獲得進程的實

5、際程序的路徑,這樣可以幫助我們判斷究竟是那個程序在運行。前段時間不是在討論什么進程隱藏的,其中一種就是“創(chuàng)建遠程線程”,而注體往往又是以動態(tài)鏈接庫(DLL)的形式存在的,我們就希望看到某個具體進程所包含的所有模塊(Module),常常是DLL也?!熬€程”是一個大家熟悉的名字,它是Windows系統(tǒng)中的實現(xiàn)體,而進程則是線程運行的環(huán)境。一個進程到底創(chuàng)建了多少線程了?我們同樣可以枚舉進程內部的所有線程信息。如果您發(fā)現(xiàn)一個木馬進程,下面的動作

6、就應該是分析它的運行機制(如果您對它感興趣),不過最終您還是要將它結束吧。在Windows2k下,很多系統(tǒng)關鍵進程在TaskMgr里是不能被結束的,不過現(xiàn)在您不用擔心了。好的,對進程的操作當然就包括結束進程。如果您用過中文的XP,您是否常常遇到任務欄“假死”的情況,雖然您的電腦沒有掛掉,但卻動彈不得,那好我們也同樣可以將任意的進程掛起來,不管您對它做什么動作(除了結束),它都不會有任何的反應。有了掛起進程,同樣我們也可以將進程從“掛起”

7、狀態(tài)激活哈。桌面窗口是大家接觸得最多的交互界面了,您是否想獲得每個窗口的標題信息呢?當然我們還可以獲得與窗口關聯(lián)的進程,線程與窗口句柄屬性。如果大家對VC比較熟悉,就應該知道其中的一個SPY工具吧,它就可以獲得桌面窗口,進程和線程的詳細信息,不過現(xiàn)在就不用打開這個,打開那個了,通通搞定了!系統(tǒng)性能是每個用戶關心的話題。(友情提醒:開發(fā)者網(wǎng)絡Windows開發(fā)專欄中還有大量技巧)它包括整個系統(tǒng)當前創(chuàng)建的句關機也不是那么的單調的,您可以注銷

8、自己的系統(tǒng),如果您要離開當然就需要鎖定了。最近大家都不喜歡關機,太麻煩了,所以都習慣使用冬眠,系統(tǒng)將會為我們保留當前信息,不過還有支持電源管理的關機和休眠。Windows2000的用戶注意了,我們同樣可以使用XP系統(tǒng)下的帶有到記時與消息提示的關機和重啟功能了。系統(tǒng)的版本信息是比較固定的,主要包括操作系統(tǒng)的指紋,注冊組織用戶,主機名和系統(tǒng)相關目錄等信息。說了這么多,我們也該談談如何實現(xiàn)了。1.窗口信息MS為我們提供了打開特定桌面和枚舉桌面

9、窗口的函數(shù)。hDesk=OpenDesktop(lpszDesktop0FALSEDESKTOP_ENUMERATE)打開我們默認的Default桌面;EnumDesktopWindows(hDesk(WNDENUMPROC)EnumWindowProc0)枚舉打開桌面上的所有窗口,由回調函數(shù)實現(xiàn)。BOOL__stdcallEnumWindowProc(HWNDLPARAM)在回調函數(shù)中,我們可以獲得窗口的標題和相關進程,線程信息;Ge

10、tWindowText(hWndszWindowTextdwMaxCount)GetWindowThreadProcessId(hWnd2.設備驅動器信息(服務和設備驅動器差不多,在此不做重復)設備驅動信息有服務控制管理器(SCM)來管理的,我要打開服務控制管理器,并枚舉所有的設備驅動器。OpenSCManager(NULLNULLSC_MANAGER_ALL_ACCESS)以所有權限打開服務控制管理器;EnumServicesStat

11、us(schManagerdwDeviceTypedwDeviceStateEnumStatusdwBufSize記住,在結束訪問后要關閉服務句柄;OpenService(schManagerszDeviceNameSERVICE_ALL_ACCESS)打開特定的設備驅動器;QueryServiceConfig(schDevicelpDeviceConfig10248&dwBytesNeeded);查詢驅動器的服務配置信息;QueryS

溫馨提示

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

評論

0/150

提交評論