監視程式的編製

來源:互聯網
上載者:User

監視程式,這個名字聽起來似乎很陌生。它的用途主要是在後台監視系統中關鍵資訊的改變,比如註冊表的改變及硬碟上由於檔案操作引起的改變等等。

也許有人會問了,編製這樣的程式有什麼價值呢?硬碟上檔案改變了,我只要在資源管理員裡點一點不就全都清楚了嗎?問題當然不會這樣簡單,如今大家的硬碟都已經用G來做單位了,一塊4.3G的硬碟中,大大小小的檔案全都加起來也會有若干萬(相信新購機的朋友會考慮IBM10.1G的大硬碟,那檔案數量將更加不可想象),更何況那些看不見的系統檔案和隱藏檔案了。再加上註冊表,那其中的條條款款,數量也絲毫不遜於硬碟上的檔案。要想隨時知道自己機器是否有所變動,絕對不是一件很輕鬆的事。而監視程式就可以隨時檢測到這些變化,協助我們瞭解這些情況。

當然這隻是監視程式的一部分作用,它最大的作用就是可以記錄下某個軟體安裝前後系統的改變,從而為卸載這個軟體提供重要的依據。雖然Windows內建了一個Uninstall Shield,但是它似乎並不能很乾淨地把原來的軟體卸掉,每次卸載總會留下一些討厭的殘渣,致使系統中的垃圾資訊不斷增長,我們的硬碟空間也總是莫名其妙地越用越少。因此,一些號稱能夠完全卸載軟體的專用卸載工具應運而生。在這其中,有一些就運用了監視系統的技術,比如Uninstaller Manager和RegMonitor。

下面我們開始討論如何編程實現這一監視功能。首先介紹幾個重要的api函數:

FindFirstChangeNotification( );

FindNextChangeNotification( );

WaitForSingleObject( );

其中FindFirstChangeNotification(lpzpath,fwatchsubtree,fdwfilter)中的lpzpath表示要監視的路徑名,fwatchsubtree判斷是否查看子目錄,fdwfilter為要監視的事件,函數執行成功後返回一個控制代碼。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.